• ベストアンサー

batファイルで、引数のファイルリストを作りたい。

あるbatファイルを作成しようとしています。 目的は、複数のファイルを選択して、batファイルにドラッグすると、そのパスをテキストファイルに書き込んでほしいのです。 for文を使おうと思ったのですが、以下の内容だとうまくいきません。 type NUL > "./test.txt" for %%i in (%*) do echo %%i >> "./test.txt" 空のファイルは作成されるのですが、ファイル名は記録されません。 何か方法があれば教えていただけないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

お使いの環境は何でしょう? 9x系の場合 %*が使えないようですが NT系ならその構文で書き出すようですよ また NT系の場合ドラッグアンドドロップで起動した際に書き出されるファイルは C:\Docuemnts and Settings\ユーザー名 フォルダ固定のようです ショートカットを作成して『作業フォルダ』を指定してショートカットにD&Dすれば別ですけど 9x系でしたら @echo off type NUL > .\text.txt :fnext for %%f in ( %1 ) do echo %%f shift if "%1" == "" goto end goto fnext :end といった具合で良いようです

tennyasu
質問者

お礼

OSを書き忘れていました。申し訳ないです。 OSによっても違うのですね。MS-DOSプロンプトとコマンドプロンプトの違いなんでしょうか? 取りあえず、どうにか解決できそうです。 ありがとうございました。

その他の回答 (1)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

内容に間違いはないようです。 ファイルが作成される場所は間違って見てませんか? 特に指定しないと、ホームフォルダに作られますが。 XPだとC:\Documents and Settings\ユーザ名\test.txt

tennyasu
質問者

お礼

先ほど確認したら、確かにその場所に作られていました・・・。 マヌケでした。ありがとうございます。

関連するQ&A