我试过这个,但它没有打印任何东西:
Dir -Recurse "C:\temp" | Select Fullname
看起来这个命令只选择文件名。我想在控制台中看到它们。
答案 0 :(得分:3)
Dir -Recurse c:\path\ | Get-Childitem
答案 1 :(得分:2)
您的命令应该按原样运行。事实上,你已经在呼叫Get-ChildItem
。如果你检查Get-Alias
,你会看到我想告诉你的。
PS C:\users\Cameron\Downloads> Get-Alias dir
CommandType Name ModuleName
----------- ---- ----------
Alias dir -> Get-ChildItem
您的代码转换为
Get-ChildItem -Recurse "C:\temp" | Select Fullname
同样,我不确定为什么你的代码不会生成输出,因为在包含文件或目录的文件夹上完全没问题。可能是位置参数的问题?什么是PowerShell版本? (使用Get-Host
)。
您拥有的代码会将所有文件路径发送到控制台。你想在其他地方输出那个输出吗?
如果路径中有文件夹,则此代码会将输出加倍,因为目录将输出到第二个Get-ChildItem
Dir -Recurse c:\path\ | Get-Childitem
考虑以下文件夹树
C:\TEMP\TEST
│ File1.txt
│ File2.txt
│
└───Folder1
File3.txt
考虑针对该文件夹树运行的两个命令。
PS C:\users\Cameron\Downloads> Dir -Recurse c:\temp\test | Select Fullname
FullName
--------
C:\temp\test\Folder1
C:\temp\test\File1.txt
C:\temp\test\File2.txt
C:\temp\test\Folder1\File3.txt
PS C:\users\Cameron\Downloads> Dir -Recurse c:\temp\test | Get-Childitem | Select Fullname
FullName
--------
C:\temp\test\Folder1\File3.txt
C:\temp\test\File1.txt
C:\temp\test\File2.txt
C:\temp\test\Folder1\File3.txt
第二个命令显示两个名为File3.txt
的文件,而实际上只有一个文件。
答案 2 :(得分:0)
也许值得一提的是看到隐藏项目所需的-force开关。
答案 3 :(得分:0)
get-childitem | format-list > filename.txt
这将为您提供一个文本文件,其中包含名称,大小,最后修改时间等。
如果要从项目中获取特定参数...(例如文件名,则仅命令是
get-childitem | format-list name > filename.txt
这将为您提供相同的文本文件,但仅列出文件的名称。