dir/b > files.txt
Unicode 記号を保持するには、PowerShell で実行する必要があると思います。
Get-ChildItem | Select-Object -ExpandProperty Name > files.txt
またはそれより短い:
ls | % Name > files.txt
ただし、次のように簡単に同じことができますcmd。
cmd /u /c "dir /b > files.txt"
この/uスイッチはcmd、ファイルにリダイレクトされたものを Unicode として書き込むように指示します。
Get-ChildItem実際には、次と同等のフラグがすでにありますdir /b。
Get-ChildItem -name(またはdir -name)
簡単に言えば:
dir -Name > files.txt
PSH dir(エイリアス) では、(別の回答Get-ChildItemに記載されているように) オブジェクトが提供されるため、必要なプロパティを選択する必要があります。with (alias ) を使用して、元のオブジェクトのプロパティのサブセットを持つカスタム オブジェクトを作成します (または追加のプロパティを追加できます)。Select-Objectselect
ただし、この場合、フォーマット段階で行うのがおそらく最も簡単です
dir | ft Name -HideTableHeaders | Out-File files.txt
(ftですformat-table。)
別の文字エンコーディングfiles.txt(out-fileデフォルトでは UTF-16 を使用) が必要な場合は、-encodingフラグを使用して、次を追加することもできます。
dir | ft Name -HideTableHeaders | Out-File -append -encoding UTF8 files.txt
powershell はオブジェクトを扱うため、パイプ内の各オブジェクトをどのように処理するかを指定する必要があります。
このコマンドは、各オブジェクトの名前のみを出力します。
dir | ForEach-Object { $_.name }
私は使っている:
(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