教程:http://www.pstips.net/
大小寫不敏感
直接輸入cd 加文件目錄就可以定位到相關(guān)目錄內(nèi)阵赠。
執(zhí)行.exe或.bat文件:
.\fileName
清屏
clear|cls
查看版本:
$host.version
//or
Get-Host
ESC : 清除輸入行
get-process : 查看當(dāng)前服務(wù)列表
文件重命名:
Rename-Item FileName -NewName NewFileName
FileName : 原文件名
NewFileName : 新文件名
批量重命名文件:
$i = 0
Get-ChildItem -Path c:\pictures -Filter *.jpg |
ForEach-Object {
$extension = $_.Extension
$newName = 'pic_{0:d6}{1}' -f $i, $extension
$i++
Rename-Item -Path $_.FullName -NewName $newName
}
置數(shù):
set t pepelu
echo $t
output:pepelu
$t = 233
echo $t
output : 233
獲取你的當(dāng)前位置 (Get-Location)
Get-Location
output:
Path
C:\Documents and Settings\PowerUser
設(shè)置你的當(dāng)前位置 (Set-Location)
Set-Location C:\Windows
//or
Set-Location -Path C:\Windows
輸入命令后潦牛,你將注意到你不會收到任何有關(guān)該命令影響的直接反饋毁兆。執(zhí)行某項(xiàng)操作的大多數(shù) Windows PowerShell 命令可生成很少的輸出或根本不會生成輸出械拍,因?yàn)樵撦敵霾⒉豢偸怯杏昧敉H粢?yàn)證在你輸入 Set-Location 命令時是否已成功更改目錄胡陪,請?jiān)谳斎?Set-Location 命令時包括 -PassThru 參數(shù):
Set-Location -Path C:\Windows -PassThru
output :
Path
C:\Windows
可將 -PassThru 參數(shù)與WindowsPowerShell中的許多Set命令結(jié)合使用摸柄,以在沒有默認(rèn)輸出的情況下返回有關(guān)結(jié)果的信息颤练。
PS C:\Windows> set t pepelu -PassThru
Name Value
---- -----
t pepelu
如果你位于 C:\Windows 文件夾中,則句點(diǎn) (.) 表示 C:\Windows驱负,而雙句點(diǎn) (..) 表示 C:,即:句點(diǎn) (.) 表示當(dāng)前目錄嗦玖,雙句點(diǎn) (..) 表示父目錄。
使用默認(rèn)方式打開一個文件:.\FileName
cd 和 chdir 都可以打開一個目錄跃脊。
使用文件宇挫、文件夾和注冊表項(xiàng):
https://technet.microsoft.com/zh-cn/library/dd315381.aspx
新建文件:
type > %~dp0\a.txt
//or
echo a 2>FileName
“2”表示錯誤輸出的句柄,此例中沒有錯誤輸出酪术,所以創(chuàng)建了沒有內(nèi)容的空文件器瘪。
其實(shí)>默認(rèn)都是重定向了句柄1,即標(biāo)準(zhǔn)輸出句柄绘雁。比如cd.>a.txt橡疼,其實(shí)就是cd. 1>a.txt。
同樣庐舟,句柄3到9也可以使用在本例中欣除,它們是未經(jīng)定義的句柄,也不會有輸出挪略,如
echo a 3>a.txt
http://bits00.iteye.com/blog/1585651
http://www.pstips.net/working-with-files-and-directories.html
枚舉文件:
基本語法:
Get-Command -Name Get-ChildItem -Syntax
耻涛,可以通過使用 Get-ChildItem cmdlet 的參數(shù)來執(zhí)行非常復(fù)雜的列出操作。
- 列出所有包含的項(xiàng) (-Recurse):
//列出指定目錄下的所有文件瘟檩,包括子目錄中文件
Get-ChildItem -Path C:\WINDOWS -Recurse
//列出當(dāng)前目錄下的所有文件抹缕,包括子目錄中的文件
Get-ChildItem -Recurse
- 按名稱篩選項(xiàng) (-Name):
//列出指定目錄下的所有文件
Get-ChildItem -Path C:\WINDOWS -Name
//列出當(dāng)前目錄下的所有文件,只顯示文件名
Get-ChildItem -Name
//列出當(dāng)前目錄下的指定文件墨辛,顯示文件詳細(xì)信息
Get-ChildItem FileName
- 強(qiáng)制列出隱藏的項(xiàng) (-Force)
正常情況下在文件資源管理器或 Cmd.exe 中不可見的項(xiàng)不會在 Get-ChildItem 命令的輸出中顯示卓研。若要顯示隱藏的項(xiàng),請使用 Get-ChildItem 的 Force 參數(shù)。
Get-ChildItem -Path C:\Windows -Force
- 通配符:
由于通配符匹配由 Windows PowerShell 引擎處理奏赘,因此接受通配符的所有 cmdlet 使用相同的表示法寥闪,并具有相同的匹配行為。Windows PowerShell 通配符表示法包括:
- 星號 (*) 匹配零個或多個出現(xiàn)的任何字符磨淌。
- 問號 (?) 完全匹配一個字符疲憋。
- 左括號 ([) 字符和右括號 (]) 字符括起一組要匹配的字符。
若要在 Windows 目錄中查找?guī)в泻缶Y .log并且基名稱中正好有五個字符的所有文件梁只,請輸入以下命令:
Get-ChildItem -Path C:\Windows\?????.log
若要在 Windows 目錄中查找以字母 x 開頭的所有文件缚柳,請鍵入:
Get-ChildItem -Path C:\Windows\x*
- 排除項(xiàng) (-Exclude)
你可以通過使用 Get-ChildItem 的 Exclude 參數(shù)來排除特定項(xiàng)。這可讓你在單個聲明中執(zhí)行復(fù)雜的篩選搪锣。
類似于 w32.dll 的表達(dá)式將找到滿足條件的所有 DLL秋忙,但它也可能返回名稱中包含“95”或“16”的 Windows 95 和 16 位 Windows 兼容性 DLL。你可以通過將 Exclude 參數(shù)與模式 [9516] 一起使用來忽略名稱中含有任意這些數(shù)字的文件构舟。
Get-ChildItem -Path C:\WINDOWS\System32\w*32*.dll -Exclude *[9516]*
- 混合使用 Get-ChildItem 參數(shù)
Get-ChildItem -Path C:\Windows\*.dll -Recurse -Exclude [a-y]*.dll
即使 Windows 文件夾中有兩個以字母“z”開頭的 DLL灰追,也沒有結(jié)果。
由于我們已將通配符指定為路徑的一部分狗超,因此未返回任何結(jié)果弹澎。即使命令是遞歸的,Get-ChildItem cmdlet 仍然將項(xiàng)限制為 Windows 文件夾中名稱以“.dll”結(jié)尾的項(xiàng)努咐。
若要指定名稱匹配特殊模式的文件的遞歸搜索裁奇,請使用 -Include 參數(shù)。
Get-ChildItem -Path C:\Windows -Include *.dll -Recurse -Exclude [a-y]*.dll
Tab 鍵 : 自動提示
文件處理命令:
http://lzspf.blog.51cto.com/843701/919900
打開指定文件目錄:
目錄中間可以有空格
explorer E:\Program Files
//調(diào)用文件管理器麦撵,打開當(dāng)前shell所在目錄
explorer .
創(chuàng)建新目錄:
md DirName
刪除目錄:
del DirName
//取消確認(rèn)提示
del DirName -recurse