シェルスクリプトで、あるディレクトリ以下にある全てのファイルを列挙して、特定のファイルに保存するにはどうしたらよいでしょうか。


同様に、DOSコマンドでこれをやるにはどうしたらよいでしょうか。

上記2点セットでお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/05/23 07:06:29
  • 終了:2006/05/23 09:06:29

回答(2件)

id:virtual No.1

virtual回答回数1139ベストアンサー獲得回数1282006/05/23 07:59:42

ポイント35pt

DOSコマンドと書かれているのでWindows環境での話しだと思います。

それなら、シェルスクリプトにするまでもなく、

dir /s/b あるディレクトリ > 特定のファイル

でできます。

この内容を a.bat 等のファイルに書けばシェルスクリプトとして使えます。

http://www.atmarkit.co.jp/fwin2k/win2ktips/505flists/flists.html

id:signdigit No.2

signdigit回答回数44ベストアンサー獲得回数52006/05/23 08:06:11

ポイント35pt

DOSコマンドというより、WindowsXP付属コマンドなのですが。

以下は如何でしょうか?

  • その1

dir /s c:\aru-directory >> filelist.txt

  • その2

tree /f c:\aru-directory >> filelist.txt

(参考)

http://www5f.biglobe.ne.jp/~ayum/command/command.html

  • id:goldman
    なんかなあ・・・・はぁ・・・

    UNIXなら

    ls -la -R /home/usr > log.txt

    windowsなら

    dir /S C:\TEMP > LOG.TXT

    でできるんですが。

  • id:virtual
    追記です。

    dir /s/b あるディレクトリ > 特定のファイル

    だとファイル名だけでなくサブディレクトリ名まで列挙されてしますので、ファイル名だけ取り出したい場合は、

    dir /s/b/a-d あるディレクトリ > 特定のファイル

    とする必要があります。

    dir /?

    すれば他の使い方も分かります。

この質問への反応(ブックマークコメント)

トラックバック

  • DOSでは ないよなぁ。 takntの作り話 2006-05-23 07:31:56
    UNIXだったら、できそうな気がするが、DOSだと サブディレクトリ以下もすべて というのは できない。 ディレクトリ以下だったら dir > filelist.txt とかやればOKだけどね。
「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません