- ベストアンサー
DOSで違う階層のファイルまでも一覧表示したい
- 初心者でも使えるDOSコマンドを使って、違う階層のファイルまで一覧表示する方法について説明します。
- フォルダAにある3つの文書ファイルと1つのフォルダ、その中にある4つのファイル名の一覧をテキストファイルに書き出す方法を紹介します。
- 参考になるコマンドや注意点も掲載していますので、ぜひ試してみてください。
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#5,#8です。#8の回答で間違いがありました。folder1の次にある%1を%iにしてください。 (誤) c:\>for /r c:\folder1 %1 in (*.csv) do @echo %~nxi >> list.txt (正) c:\>for /r c:\folder1 %i in (*.csv) do @echo %~nxi >> list.txt
その他の回答 (8)
#5です。今度は質問文のforコマンドをちょっと変えてみた。Vistaは触ったこともないので有効かどうかわかりませんが。 c:\>for /r c:\folder1 %1 in (*.csv) do @echo %~nxi >> list.txt すべてのファイルを出力するなら*.csvを*に変更して実行します。
すみません。#6です。 >ソフトはできる限りインストールしない方向で考えています。 ということでしたね。見落としてしまいました。 ですので、【ANo.6】の回答はスルーして下さい。すみませんでした。
お礼
回答ありがとうございます
こんにちは。 【案その1】 Windowsに付属しているDOSコマンド一つのみでご希望のファイルリストを作成するのは、難しいようなので テキスト成形用のコマンドツール(例えば "SED" などのフリーウェアの利用)と組合わせてみるのは如何 でしょうか? <作成手順の例> 1)DIRコマンドでファイル一覧をテキスト出力(成形前) **>dir /s /a-d /oend /b > temp1.txt 2)出力されたテキストファイルを、テキスト成形ツールで余分なパス名などを削り新たなテキストを出力(成形後) **>sed s/^.*\\// temp1.txt > temp2.txt ※SEDなどのGNU系のツールに関しては下記サイトが参考になると思います。 ■もめす屋 > WindowsでLinuxコマンドを使う http://www.zuk.jp/gnuwin32.html 【案その2】 『コマンドプロンプト上の操作で』と言う主旨とは違ってしまいますが、単純にフォルダ内のファイル一覧を テキスト化したいのであれば、それ専用のツール(フリーソフトなど)を使用してみるのは如何でしょうか? 「Vector」の場合ですが、下記より該当するものを探してみては如何でしょう? ■Download: Windows > ユーティリティ > ファイル管理 > ファイル一覧 http://www.vector.co.jp/vpack/filearea/win/util/file/list/ このうち、Vistaでも使えそうなものを一つ上げてみました。 ■ワンタッチファイルインフォメーション(WindowsNT/2000/XP/Vista / ユーティリティ) http://www.vector.co.jp/soft/winnt/util/se417662.html ・対応する出力形式は「HTML/TXT(テキスト)/CSV/PDF」とのことです。 以上です。見当違いでしたらすみません。
お礼
回答ありがとうございます。 せっかくですので参考にさせていただきます
どういう出力を希望してるのかわからないので、ここではDIRコマンドで出力する。 c:\>dir folder1 /s /b /a-d c:\folder1\1.csv c:\folder1\2.csv c:\folder1\3.txt c:\folder1\folder2\4.csv c:\folder1\folder2\5.csv c:\folder1\folder2\6.png c:\folder1\folder2\7.txt 特定のファイルだけ出力する場合、例えばcsvファイルならこんな感じ。 c:\>dir folder1\*.csv /s /b /a-d この結果でよければファイルにリダイレクトしてください。 c:\>dir folder1 /s /b /a-d > list.txt ちなみにこれはWin2000で試したのでその他のWindows、または純正のDOSだとうまくいかない可能性はある。
お礼
パス名まで出力されてしまうのですが、ファイル名のみをテキストに出させる方法はありませんでしょうか?? 回答ありがとうございます。
- koketa58
- ベストアンサー率18% (355/1961)
ANo2です。 これってリアルなDOSじゃなくてWindowsナンチャラのコマンドプロンプトの話ならゴメンナサイです。
- cynthia4
- ベストアンサー率51% (186/358)
for /R %i in (*.*) do echo %i >> list.txt でどうですか。 少なくとも、XP のDOS窓ではうまくいくような 本当のDOS( MS-DOS ) では、分からないが。
お礼
このコマンドもやってみたのですがパス名までもが出力されてしまいます。 ファイル名のみを出力する方法はありませんでしょうか? 回答ありがとうございます。
補足
ちなみに私のパソコンはvistaです。
- koketa58
- ベストアンサー率18% (355/1961)
DOSでファイル管理なら「FD」と言うソフトを使ってはどうですか。 IBM-PC(MS-DOS)用 http://www.vector.co.jp/soft/dos/util/se020040.html PC-98用 http://www.vector.co.jp/soft/dos/util/se000010.html
お礼
回答ありがとうございます。 ソフトはできる限りインストールしない方向で考えています。 せっかく回答して頂いたのに説明不足で申し訳ありません。
- pasocom
- ベストアンサー率41% (3584/8637)
例に上げられた方法は、特定の名称・拡張子のファイルを検索してリストアップできるだけです。 やはりDOSでのファイル一覧は「dir」コマンドになるのでは?。 フォルダA>dir で B<DIR> ファイル1 ファイル2・・・ となるので次ぎにフォルダBに移って(フォルダA>cd フォルダB) フォルダB>dir とする。これ以外にはないような・・・。
お礼
回答ありがとうございます。 できればフォルダ名に依存しないようなコマンドを探しています…。
お礼
きたーっ!!!! 出来ました!! 本当にありがとうございました。
補足
初心者でまったく分からなくて申し訳ないのですがコマンドの意味について聞いてもよろしいでしょうか? お聞きしたい点はこのforの構文についてです。 具体的にはそれぞれの単語(/r,%i,@echo,%~nxi)についてです。 よろしくお願いいたします。