【2. 創建文件夾】
New-Item 方法登場了,它的作用可不止創建文件夾,據說還可以創建註冊表項等等。它的 -type 參數可以指定要創建的類型,-path 指定要在什麼位置創建, -name 則指定要創建東西的名字,可以猜到 -value 會指定創建的內容(對文檔,可以是它的內容;對目錄,則不需要了)。
一個例子:
new-item -path c:/ -name logfiles -type directory
[在c盤下創建名爲logfiles的文件夾]
不過咱志不止於此,還想用當前的日期來創建文件夾,並且如果存在該文件夾就不創建了……呵呵有點麻煩了。
得到日期很簡單:
get-date
順帶說一下它相關的參數 -displayHint date 是說就顯示日期部分就好了,否則get-date默認是得到日期和時間的(當然你還可以進一步用 -format 來格式化得到的日期格式)
不過判斷某個文件夾是否存在,就要用到流程控制關鍵字 if 了。
抄一段 if 的語法
if (<test1>)
{<code_block1>}
[elseif (<test2)
{<code_block2>}]
[else
<code_block3>}]
呵呵還好和一般的編程語言裏的if沒啥區別。
昨天的說到Get-Item對用法,今天剛好拿來:
Get-ChildItem -name * -include $dateText
用 $dateText 變量保存前面獲得的日期,用Get-ChildItem來獲得該名字對應的文件夾名字,然後……嗯累了嘿嘿,具體解釋明天補上。
$dateText = get-date
$dateText = $dateText.ToShortDateString() #轉爲短日期格式(去掉時間部分)
$file = Get-ChildItem -name * -include $dateText
if ( $file.count -eq $null ) # 井號是註釋符, $null是預定義的變量,代表空
{
write-host "$file 不存在" #寫在雙引號裏的變量在輸出時會以其值替換,在單引號裏的不會
}
else
{
write-host "$file 已經存在"
}