• ベストアンサー

バッチファイルで2行にわたるコマンドを入力したいのですが

バッチファイルで複数行にわたるコマンドを打ちたいのですが、方法がわからなくて困っています。 for /f "tokens=1,2,3 delims=/ " %%a in ('date /t') do ( set hinichi=%%a%%b ) "C:\Program Files\Lhaca\Lhaca.exe" "test%hinichi%01.txt" "test%hinichi%02.txt" ・・・・・・・ と31個のファイルを圧縮するバッチです。 体裁の問題ですが、 for /f "tokens=1,2,3 delims=/ " %%a in ('date /t') do ( set hinichi=%%a%%b ) "C:\Program Files\Lhaca\Lhaca.exe" ? "test%hinichi%01.txt" ? "test%hinichi%02.txt" ・・・ としたいのですが各行のつなぎの記号?がわかりません。 ご存知の方、よろしくお願いいたします。

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

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

1カラム目が " だと駄目みたいですね。 >type ^ > "C:\test\test20060701.txt" ^ >"C:\test\test20060702.txt" >pause と先頭を空白にすれば大丈夫です。バグっぽいですね。

022722
質問者

お礼

スペース入れて確認しました!ありがとうございます。助かりました!

その他の回答 (5)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.5

調べてみたところ、 type "hoge.txt" ^ "fuga.txt" のようにファイル名をダブルクォートでくくると、^ による行継続が キャンセルされてしまうようです。 パス名/ファイル名に空白が含まれていると問題ですが、そうでないなら ダブルクォートをはずして試してもらえませんか?

022722
質問者

お礼

ありがとうございます!! 無事解決しました! 本当にありがとうございました!

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

>抜けていたりしませんか? あるいは、^ の後に空白があるとか。

022722
質問者

お礼

ありがとうございます。 以下のバッチでもテストしましたが、3行目までいきません。 type ^ "C:\test\test20060701.txt" ^ "C:\test\test20060702.txt" pause とすると  C:\>type "C:\test\test20060701.txt" ^  C:\test\test20060701.txt  ファイル本文1指定されたファイルが見つかりません。  処理中にエラーが発生しました: ^  C:\>"C:\test\test20060702.txt" ⇒test20060702.txtが別ウィンドウで開く (test20060701.txtには "ファイル本文1" test20060702.txtには "ファイル本文2"とだけ書いてあります) 当然 type "C:\test\test20060701.txt" "C:\test\test20060702.txt" pause とすればうまくいきます。以下成功結果です。  C:\>type "C:\test\test20060701.txt" "C:\test\test20060702.txt"  C:\test\test20060701.txt  ファイル本文1  C:\test\test20060702.txt  ファイル本文2  C:\>pause  続行するには何かキーを押してください . . . ^の後ろにスペースもありません。よろしくお願いします。

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.3

> ^ をつけて実行すると二行目までは可能ですが、三行目からは別のコマンド扱いになってしまいます。。やはりないのでしょうか。。 うーん。同じコマンドではなく zip というアーカイブコマンドで試したのですが、 5行に分けて書いても期待通りすべてのファイルをアーカイブしてくれています。 最終行を除いてすべての改行の直前にハットをつけなければいけない のですが、抜けていたりしませんか?

022722
質問者

お礼

ありがとうございます。 抜けてはいませんでした。上に詳細を書きました。 ご存知でしたらご指導ください。よろしくお願いします。

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

"C:\Program Files\Lhaca\Lhaca.exe" ^ "test%hinichi%01.txt" ^ "test%hinichi%02.txt" のように、改行の直前に ハット('^')をおいてやればいけませんか?

022722
質問者

お礼

ご回答ありがとうございます。 ^ をつけて実行すると二行目までは可能ですが、三行目からは別のコマンド扱いになってしまいます。。やはりないのでしょうか。。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

継続行の指定はなかったと思います

022722
質問者

お礼

いくらネットで調べてもなかったので、やはりないのでしょうか。。 ありがとうございました。

関連するQ&A