重複の可能性:
コマンドプロンプトで再帰的に裸のファイル名を取得する
ディレクトリ内のすべてのファイルを再帰的にリストし、ファイル名のみを表示します(拡張子なし、フルパスなし)。 Windows/DOSを使用しています。
私がdir
で取得できる最も近いものはdir /s /b
、しかしそれは完全なパスをリストし、また拡張子を示します。
ええと、私は拡張機能と一緒に住むことができるかもしれませんが、私はパスを取り除く必要があります!
何か案は?
cd /d C:\Path\To\Source\Folder
for /r %i in (*) do @echo %~ni
リストをファイルに保存する必要がある場合は、for
コマンドの最後に>> C:\Path\To\list_file.txt
を追加します。
拡張機能が必要な場合は、%~ni
を%~nxi
に変更します
バッチファイルで使用するには、すべての%
を%%
に変更します
Powershellをロードする場合は、このコマンドで実行できます。
get-childitem "d:\acc" -recurse|foreach {$_.Basename}
次のようなことを行うと、必要なものが得られます。
@for /f "delims=" %a in ('Dir /s /b %systemdrive%') do echo %~na
出力をファイルにパイプし、必要に応じてそこから使用します。
マイクロソフト製で7に同梱されているため、サードパーティのソフトウェアかどうかはわかりませんが、Powershellはほとんどの問題を簡単に解決します。まだインストールしていない場合は、MicrosoftのサイトのXPで利用できます。
Get-ChildItem -path "C:\Program Files\" -recurse | foreach ($_) {
write $_.name
}