文件,目录对象介绍:
第一个要学的命令就是dir,powershell没有find。
问:为什么要用powershell的dir【即Get-ChildItem】,而不用cmd的dir?
答:
get-childitem d:\xxx -file #过滤,只输出文件
-Directory #过滤,只输出目录
-Hidden #过滤,只输出隐藏
-Recurse #包含子目录
-Depth #目录深度
问:文件的常用属性是什么?
答:
$文件 = dir a:\pscode\temp183\aaa.txt
$文件.FullName #全路径属性
$文件.name #文件名和扩展名
.BaseName #文件名
.Extension #扩展名
.LastWriteTime #返回最后写入时间属性
.Length #文件字节长度
.DirectoryName #父目录
问:如何测试文件,目录是否存在?
答:
test-path d:\xxx\yyy.txt
test-path /xxx/yyy.txt
test-path /xxx/yyy -pathtype Container #测试是否有此目录
test-path /xxx/yyy -pathtype Leaf #测试是否有此文件
问:如何拆分目录,文件?
答:
Split-Path -Path "C:\Test\Logs\*.log" -Leaf -Resolve #返回所有文件名即
Pass1.log
Pass2.logSplit-Path -Path "C:\Test\Logs\*.log"
返回:C:\Test\Logs\
问:如何合并目录,文件?
答:
1 join-path
2 直接用构造字符串的方法:
$目录名= '/root'
$目录名加文件名 = "$目录名/abc/def.txt"
#返回
/root/abc/def.txt
问:神马是文件,目录的-LiteralPath?
答:
不包含正则,通配符的。不会被正则转义的路径。
test-path -Path e:\电影\[神秘博士][第十季]第6集_bd.mp4 #返回假,因为有[]
test-path -LiteralPath e:\电影\[神秘博士][第十季]第6集_bd.mp4 #返回真
第一个要学的命令就是dir,powershell没有find。
问:为什么要用powershell的dir【即Get-ChildItem】,而不用cmd的dir?
答:
get-childitem d:\xxx -file #过滤,只输出文件
-Directory #过滤,只输出目录
-Hidden #过滤,只输出隐藏
-Recurse #包含子目录
-Depth #目录深度
问:文件的常用属性是什么?
答:
$文件 = dir a:\pscode\temp183\aaa.txt
$文件.FullName #全路径属性
$文件.name #文件名和扩展名
.BaseName #文件名
.Extension #扩展名
.LastWriteTime #返回最后写入时间属性
.Length #文件字节长度
.DirectoryName #父目录
问:如何测试文件,目录是否存在?
答:
test-path d:\xxx\yyy.txt
test-path /xxx/yyy.txt
test-path /xxx/yyy -pathtype Container #测试是否有此目录
test-path /xxx/yyy -pathtype Leaf #测试是否有此文件
问:如何拆分目录,文件?
答:
Split-Path -Path "C:\Test\Logs\*.log" -Leaf -Resolve #返回所有文件名即
Pass1.log
Pass2.logSplit-Path -Path "C:\Test\Logs\*.log"
返回:C:\Test\Logs\
问:如何合并目录,文件?
答:
1 join-path
2 直接用构造字符串的方法:
$目录名= '/root'
$目录名加文件名 = "$目录名/abc/def.txt"
#返回
/root/abc/def.txt
问:神马是文件,目录的-LiteralPath?
答:
不包含正则,通配符的。不会被正则转义的路径。
test-path -Path e:\电影\[神秘博士][第十季]第6集_bd.mp4 #返回假,因为有[]
test-path -LiteralPath e:\电影\[神秘博士][第十季]第6集_bd.mp4 #返回真