プロが教える店舗&オフィスのセキュリティ対策術

初めまして。dosをほとんど使ったことのない初心者ですがファイルの一覧表示について質問させていただきます。

フォルダAの中に文書ファイルが3つとフォルダが一つあって、そのフォルダの中に4つファイルがある場合についてお聞きします。

そうするとフォルダAには7つのファイルがあることになると思います。
この7つのファイル名の一覧をテキストファイルに書き出したいと考えています。
何かいい方法がありましたらお願い致します。

ちなみにネットにあった(http://write.asahi.ne.jp/modules/xfsection/artic …
for /R %i in (*.csv) do echo %i > list.txt
というコマンドだとファイルにいたるパスまで出力された上に、一つのファイル名しかテキストファイルに書き込まれていませんでした。

A 回答 (9件)

例に上げられた方法は、特定の名称・拡張子のファイルを検索してリストアップできるだけです。


やはりDOSでのファイル一覧は「dir」コマンドになるのでは?。
フォルダA>dir で
B<DIR>
ファイル1
ファイル2・・・
となるので次ぎにフォルダBに移って(フォルダA>cd フォルダB)
フォルダB>dir とする。これ以外にはないような・・・。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

できればフォルダ名に依存しないようなコマンドを探しています…。

お礼日時:2008/09/28 01:07

DOSでファイル管理なら「FD」と言うソフトを使ってはどうですか。



IBM-PC(MS-DOS)用
http://www.vector.co.jp/soft/dos/util/se020040.h …

PC-98用
http://www.vector.co.jp/soft/dos/util/se000010.h …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
ソフトはできる限りインストールしない方向で考えています。
せっかく回答して頂いたのに説明不足で申し訳ありません。

お礼日時:2008/09/28 01:09

for /R %i in (*.*) do echo %i >> list.txt


でどうですか。
少なくとも、XP のDOS窓ではうまくいくような
本当のDOS( MS-DOS ) では、分からないが。

この回答への補足

ちなみに私のパソコンはvistaです。

補足日時:2008/09/28 01:16
    • good
    • 0
この回答へのお礼

このコマンドもやってみたのですがパス名までもが出力されてしまいます。
ファイル名のみを出力する方法はありませんでしょうか?

回答ありがとうございます。

お礼日時:2008/09/28 01:14

ANo2です。



これってリアルなDOSじゃなくてWindowsナンチャラのコマンドプロンプトの話ならゴメンナサイです。
    • good
    • 0

どういう出力を希望してるのかわからないので、ここでは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だとうまくいかない可能性はある。
    • good
    • 0
この回答へのお礼

パス名まで出力されてしまうのですが、ファイル名のみをテキストに出させる方法はありませんでしょうか??

回答ありがとうございます。

お礼日時:2008/09/28 01:31

こんにちは。



【案その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/ …

このうち、Vistaでも使えそうなものを一つ上げてみました。
■ワンタッチファイルインフォメーション(WindowsNT/2000/XP/Vista / ユーティリティ)
http://www.vector.co.jp/soft/winnt/util/se417662 …
・対応する出力形式は「HTML/TXT(テキスト)/CSV/PDF」とのことです。


以上です。見当違いでしたらすみません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
せっかくですので参考にさせていただきます

お礼日時:2008/09/28 11:45

すみません。

#6です。

>ソフトはできる限りインストールしない方向で考えています。
ということでしたね。見落としてしまいました。
ですので、【ANo.6】の回答はスルーして下さい。すみませんでした。
    • good
    • 0
この回答へのお礼

回答ありがとうございます

お礼日時:2008/09/28 13:28

#5です。

今度は質問文のforコマンドをちょっと変えてみた。Vistaは触ったこともないので有効かどうかわかりませんが。
 c:\>for /r c:\folder1 %1 in (*.csv) do @echo %~nxi >> list.txt

すべてのファイルを出力するなら*.csvを*に変更して実行します。
    • good
    • 1

#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

この回答への補足

初心者でまったく分からなくて申し訳ないのですがコマンドの意味について聞いてもよろしいでしょうか?

お聞きしたい点はこのforの構文についてです。
具体的にはそれぞれの単語(/r,%i,@echo,%~nxi)についてです。

よろしくお願いいたします。

補足日時:2008/09/28 13:34
    • good
    • 0
この回答へのお礼

きたーっ!!!!
出来ました!!
本当にありがとうございました。

お礼日時:2008/09/28 13:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!