我试图获得一个文件路径,用于编写一个CSV,我需要构建这个目录,并让它只显示一个列与父文件夹和文件名。
如果我这样做的话,我只会得到文件名和扩展名的显示。
Get-ChildItem -Filter *.txt -Recurse | Select-Object @{l='WAV File';e={Split-Path -noQualifier ($_.Name) }}WAV文件
test1.txt
test10.txt
test2.txt
test3.txt
test4.txt
test5.txt
test6.txt
test7.txt
test8.txt
test9.txt
如果我将$_.Name交换为$_.FullName,则会得到所有父目录。
Get-ChildItem -Filter *.txt -Recurse | Select-Object @{l='WAV File';e={Split-Path -noQualifier ($_.FullName) }}WAV文件
\磁带\12345\wav\test1.txt
\磁带\12345\wav\test10.txt
\磁带\12345\wav\test2.txt
\磁带\12345\wav\test3.txt
\磁带\12345\wav\test4.txt
\磁带\12345\wav\test5.txt
\磁带\12345\wav\test6.txt
磁带\12345\wav\test7.txt
\磁带\12345\wav\test8.txt
磁带\12345\wav\test9.txt
但是我实际上需要它显示的方式是wav\test1.txt,所以只有一个父目录。有人能告诉我我哪里出错了吗?试着让它起作用。
发布于 2015-08-11 18:52:05
只需将文件名与其目录的名称加入:
Get-ChildItem -Filter *.txt -Recurse |
Select-Object @{l='WAV File';e={Join-Path $_.Directory.Name $_.Name}}https://stackoverflow.com/questions/31949514
复制相似问题