• ベストアンサー

バッチファイルについて

ファイルの中身を抽出するバッチを作成しました。 そのバッチファイルを実行し、test.csvというファイル名をつけて出力できたんですが、出力パスも指定することは可能なんでしょうか? find.bat > test.csv

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

  • ベストアンサー
noname#39234
noname#39234
回答No.4

batという拡張子だと、MS-DOS系ってことかな。 (MacOSXやUNIX系環境だと実行属性を付ければ拡張子は無関係) もう少し便利にすると、変数を使う手がある。 たとえば、%1や%2といった文字列をバッチファイル内で使い 実行時にバッチファイルの名前の後に半角スペースで区切って 読み込むファイル名と書き出すファイル名を指定すれば それぞれが%1と%2としてバッチファイル内で扱われる。 あと、find.batは、OS付属のFIND.EXE(COMだったかもしれない)と 同じ実行名だから、カレントディレクトリーを間違うと OS標準のFINDのほうが実行されてよろしくない。 UNIX系だと一般的にfindが存在して、MS-DOS系と違って 実行名としてFINDを区別することはできるけど 使い分けるほうが間違いかねないから、普通そういうことしない。 あまり推奨される使い方じゃ無い気もするけど 実はバッチファイルやスクリプトファイルのアイコンに データファイルをドラッグアンドドロップで食べさすと %1として渡すことができる。 ただし、OS/2とLinux上のKDEでしか検証していない。 普通に考えればWindowsでもできるとは思う。

その他の回答 (3)

  • fire--
  • ベストアンサー率49% (146/293)
回答No.3

9X系windowsでも問題なくできますよ。 find.bat > d:\path1\path2\test.csv とかいう風です。

  • TT414
  • ベストアンサー率18% (72/384)
回答No.2

Windowsでも9X系ではなく、XP HomeならNo.1の方と同じ方法で出来ます。 NT系のXP以外は私には分かりません。

noname#29127
noname#29127
回答No.1

Windows上なのか、linuxなのかわかりませんが、 linuxなら find.bat > /home/user/test.csv でできます。 こういう回答を御希望でしょうか?

関連するQ&A

  • バッチをタスクで実行

    お世話になります。 現在、XP端末にてバッチをタスクスケジューラにて実行してます。 3分間隔で実行しておりますが、タスクにバッチファイルを直接指定するとプロンプト画面が表示されてしまうため、バッチファイルのショートカットを作成し、タスクにはそのショートカットを指定しております。 で、今回Win7端末に当該タスクを移行するのですが、XP端末よりバッチファイル及びショートカットをコピー致しました。タスクスケジューラに登録しようとしましたが、XPと何か違います。。 XPだと『実行するファイル名』の箇所にショートカットを指定することができますが、Win7だとショートカットを指定しても、バッチファイルのパスに変わってしまいます。 例えば、c:\test.batへのショートカット.lnk を選択しても、c:\test.bat に変わります。 よって、タスクが実行されるとプロンプト画面が表示されることになります。 なお、手動でパス(c:\test.batへのショートカット.lnk)を入力し、タスクを実行すると実行結果が『指定されたファイルが見つかりません』とエラーになってしまいます。 パスを:\test.batへのショートカット としても同エラーになります。 どのようにすれば、タスクにショートカットを指定できるのでしょうか。 ご教授の程、宜しくお願い致します。

  • バッチファイル

    お世話になります。 バッチファイルを用いて、実行されるプログラムがあります。 私の作成したものではないので、どのようなやり取りが内部で行われているのかは、詳細はわかりません。 例えば、D:\Programフォルダーの中にプルグラムをインストールしたとすれば、引数を2つ指定して(例:aaaとbbb)、バッチファイル(test.bat)を以下のように実行すれば、プログラムは正常に作動します。 D:\Program>test aaa bbb しかし、以下の場合には、正常に作動しません。 C:\>D:\Program>test aaa bbb つまり、パスを含めて、バッチファイルを実行することは、このプログラムは許可してくれません。 ここで、例えば、VBなどを用いて、テキストボックスなどで引数を二つ指定して、実行ボタンをクリックすれば、必ず、D:\Program>test aaa bbbという状態で、バッチファイルが実行されるようにするには、どのようにすればよろしいでしょうか? もしご存知の方がいらっしゃいましたら、是非、ご教授願います。 以上、宜しくお願いいたします。

  • バッチファイルを実行するとエラーが出る

    win2000を利用しています。起動時に自動的にアプリケーションを実行させるバッチファイルを作りたいのですがエラーがでます。 以下のように書いています。このバッチファイルをスタートアップに入れて実行させたいと思っています。 そして試しに手動で実行してみると、構成ファイルが見つからない、パス名を確認してくださいと言ったいエラーが出ます。 パスが間違っているのかと思い、 「C:\Program Files\Internet Explorer\IEXPLORE.EXE」だけをファイル名を指定して実行をするとちゃんとIEが起動します。 何が間違っているのかわからないのですが、ヒントだけでもお願いします。 test.bat(ファイル名) --------------------------- start C:\Program Files\Internet Explorer\IEXPLORE.EXE ---------------------------

  • バッチファイルで他のバッチファイルを呼び出した後、元に戻ってこれない。

    バッチファイルで他のバッチファイルを呼び出した後、元に戻ってこれない。 バッチファイルでほかのバッチファイルを呼び出した後の処理で困っています。 どうぞ教えてください。 「A.bat」というバッチファイルを実行すると、「1.bat」というバッチファイルを 実行させ、「1.bat」の実行結果によって、処理を分岐させたいと考えています。 「1.bat」をcallで呼び出し、実行はできたのですが、「1.bat」は最後にエンタキーを 押さないと終了しないようになっています。そのため、「エンターキーを押して終了させて ください」というメッセージが出たままの画面で終わってしまい、「A.bat」に帰ってくることが できません。 「1.bat」は中身を扱えないようにしてあるバッチファイルなので、こちらでエンターキーを 押さずに終了させるようにはできません。何かいい方法はないでしょうか?

  • バッチファイルについて

    バッチファイルについて バッチファイルの勉強をしておりますが、以下のバッチで 分からない箇所があります。 @echo off copy C:\bin\set.txt set.txt | find /v "コピー" echo ユーザー名を入力してください echo 入力後、Ctrlキーを押しながらZキーを押した後、Enterキー copy con inp.txt | find /v "コピー" copy set.txt+inp.txt setinp.bat | find "○○" call setinp.bat echo ユーザー名は%INP%と入力されました! del setinp.bat set.txt inp.txt <<不明箇所>> まず、C:\bin\set.txt』は set INP= とだけ書いたファイルです。 copy C:\bin\set.txt set.txt | find /v "コピー" ですが、|find /v"コピー"はなんのためにやっているのでしょうか?? find /vを調べてみると、指定した文字列を含まない行の内容をすべて画面に表示します。 と記載されていますが・・・・このバッチでは一体なぜ最初にいるのでしょう?? copy con inp.txt | find /v "コピー" ですが、コンソールから入力させた文字列をinp.txtに保存しているらしいのですが、 そのあとに、また、|find /v"コピー"がでてきますが、なぜでしょう??なにを したいのでしょう?? さらにまた、copy set.txt+inp.txt setinp.bat | find "○○"が出てきますが、 ここでなぜまた意味不明な、|find"○○"がでてくるのでしょう?? さらにさらに、バッチを実行してみると、set.txtの中身にはコンソールから 入力した文字は何も記載されていない、そして、inp.txtやsetinp.txtという テキストファイルも、どのフォルダにも出来ていません。 最後の行のdel setinp.bat set.txt inp.txtを消して実行してみても同じです。 なぜでしょう?? このバッチの動き、例としての意図が全く分かりません。。。。 この例題が悪すぎるのか、私の頭がわるすぎるのか・・・・ ちなみに、上記バッチは、http://www.geocities.co.jp/SiliconValley-SanJose/1227/batinput.html のサイトのものです。 どなたかご教授願います。。。一週間悩みましたが、まったく理解できない状態です。。。

  • バッチファイルを1個だけしか起動しないようにしたい

    エクスプローラー上から バッチファイル(test.bat)を ダブルクリックしてバッチファイルを実行しています。 通常はコマンドプロンプトが1個だけ表示されて、 バッチファイルが実行して実行が終了すると コマンドプロンプトも閉じられます。 しかし、時々、 コマンドプロンプトが2個表示されることがあります。 つまり、ダブルクリックが、 1回ではなく2回実行されたと誤認識されて、 同じバッチファイル(test.bat)が 2つ起動してしまったと思われます。 当然、その後の処理はおかしくなります。 (バッチファイル(test.bat)の中に 何らかのコードを追加するなどして) 必ず1個だけしか起動しないようにすることは、 できないでしょうか。 (Windows10)

  • バッチファイルでnetstat

    バッチファイルでnetstatの結果を表示したかったのですが 表示されません。 何故かループしてしまいます。 test.bat netstat 実行すると C:\test.bat>netstat C:\test.bat>netstat C:\test.bat>netstat ・・・・ となります。 環境はWindows XP SP3です。 ループせずに通常の出力を得る方法となぜこうなってしまうのかを教えていただけないでしょうか?

  • MS-DOSのバッチファイルの中で日本語ファイルを取り扱うには

    ある日本語で書かれたファイルの名称をバッチファイルで変更しようとしています。 rena.bat (以下中身) ------------- rename "ごろ猫のサンバ.txt" "test.txt" --------------------------------- 実行すると「The system cannot find the file specified. 」の表示です。 しかし、MS-DOSプロンプトのコマンドラインから直接 > rename "ごろ猫のサンバ.txt" "test.txt" を打ち込むと正常に動いてくれます。 目的はリネームをしようという事ではなく、バッチファイル中の日本語を含むファイル名(+パス)の取扱いができないことで派生して色々検証した結果、取り扱えないという状況で質問している次第です。 何か勘違いしているのでしょうか。バッチファイル中で日本語ファイルを取り扱うにはどうしたらいいのでしょうか?ご存知の方、ご教授ください。

  • バッチファイルFTP -sで引数を渡せますか?

    どなたか教えて下さい。 TEST.batというバッチファイルの処理の中で、 FTP -s:D:\ABC.bat でファイルを指定して、FTPのputを実行させたいです。 putしたいファイルはTEST.bat内でsetで指定しています。そのsetで指定したファイルを引数などで、\D\ABC.batへ送る方法はないでしょうか?

  • バッチファイルについて

    @cmd /k 上記の内容で「a.bat」というファイル名で保存しました。 この保存したファイルをダブルクリックすると、バッチファイルが格納されてるフォルダのパスがコマンドプロンプト上に表示されます。 パス表示後に、いろいろな動作(「echo~」など)を実行したいと思っているんですが、うまくいきません。 どうやら一番上の「@~」を記述したものは、そのあとに「echo~」などを記述しても実行してくれないみたいです。 「@cmd /k」実行後に何か(「echo~」など)を実行するにはどうしたらいいですか?

専門家に質問してみよう