如何列出和打印目录中的文件?
How can I list and print files in a directory?
我正在尝试这个,但它没有打印任何东西:
Dir -Recurse "C:\temp" | Select Fullname
看起来这个命令只是选择文件名。我想在控制台中看到它们。
Dir -Recurse c:\path\ | Get-Childitem
关于问题中的代码。
您的命令应该按原样运行。事实上,您已经在呼叫 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
的文件,而实际上只有一个。
可能还值得一提的是 -force 开关,它是查看隐藏项目所必需的。
get-childitem | format-list > filename.txt
这将为您提供一个包含名称、大小、最后修改时间等的文本文件。
如果您想要项目的特定参数...例如文件名,仅命令是
get-childitem | format-list name > filename.txt
这是给你的同一个文本文件,但只列出了文件的名称。
我正在尝试这个,但它没有打印任何东西:
Dir -Recurse "C:\temp" | Select Fullname
看起来这个命令只是选择文件名。我想在控制台中看到它们。
Dir -Recurse c:\path\ | Get-Childitem
关于问题中的代码。
您的命令应该按原样运行。事实上,您已经在呼叫 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
的文件,而实际上只有一个。
可能还值得一提的是 -force 开关,它是查看隐藏项目所必需的。
get-childitem | format-list > filename.txt
这将为您提供一个包含名称、大小、最后修改时间等的文本文件。
如果您想要项目的特定参数...例如文件名,仅命令是
get-childitem | format-list name > filename.txt
这是给你的同一个文本文件,但只列出了文件的名称。