相当于PowerShell中的(dir / b> files.txt)

时间:2011-04-04 09:30:18

标签: powershell dir

dir/b > files.txt

我想必须在PowerShell中完成以保护unicode标志。

7 个答案:

答案 0 :(得分:28)

Get-ChildItem | Select-Object -ExpandProperty Name > files.txt

或更短:

ls | % Name > files.txt

但是,您可以在cmd

中轻松完成相同操作
cmd /u /c "dir /b > files.txt"

/u开关告诉cmd将重定向到文件中的内容写为Unicode。

答案 1 :(得分:15)

Get-ChildItem实际上已经有一个相当于dir /b的标志:

Get-ChildItem -name(或dir -name

答案 2 :(得分:4)

在PSH中dir(别名Get-ChildItem)为您提供了对象(如another answer中所述),因此您需要选择所需的属性。使用Select-Object(别名select)创建具有原始对象属性子集的自定义对象(或者可以添加其他属性)。

然而,在此格式化阶段可能最简单的

dir | ft Name -HideTableHeaders | Out-File files.txt

ftformat-table。)

如果您想在files.txt中使用不同的字符编码(默认情况下out-file将使用UTF-16),请使用-encoding标记,您还可以附加:

dir | ft Name -HideTableHeaders | Out-File -append -encoding UTF8 files.txt

答案 3 :(得分:3)

由于powershell处理对象,您需要指定处理管道中每个对象的方式。

此命令将仅打印每个对象的名称:

dir | ForEach-Object { $_.name }

答案 4 :(得分:2)

简单地说:

dir -Name > files.txt

答案 5 :(得分:1)

我正在使用:

(dir -r).FullName > somefile.txt

并带有 *.log 的过滤器:

(dir -r *.log).FullName > somefile.txt

注意:

dir         is equal to `gci` but fits the naming used in cmd
-r          recursive (all subfolders too)
.FullName   is the path only

答案 6 :(得分:0)

刚刚找到了这篇很棒的文章,但也需要它用于子目录:

DIR /B /S >somefile.txt

使用:

Get-ChildItem -Recurse | Select-Object -ExpandProperty Fullname | Out-File Somefile.txt

或简称:

ls | % fullname > somefile.txt