- ベストアンサー
バッチファイルで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" ・・・ としたいのですが各行のつなぎの記号?がわかりません。 ご存知の方、よろしくお願いいたします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
1カラム目が " だと駄目みたいですね。 >type ^ > "C:\test\test20060701.txt" ^ >"C:\test\test20060702.txt" >pause と先頭を空白にすれば大丈夫です。バグっぽいですね。
その他の回答 (5)
- sakusaker7
- ベストアンサー率62% (800/1280)
調べてみたところ、 type "hoge.txt" ^ "fuga.txt" のようにファイル名をダブルクォートでくくると、^ による行継続が キャンセルされてしまうようです。 パス名/ファイル名に空白が含まれていると問題ですが、そうでないなら ダブルクォートをはずして試してもらえませんか?
お礼
ありがとうございます!! 無事解決しました! 本当にありがとうございました!
- notnot
- ベストアンサー率47% (4900/10358)
>抜けていたりしませんか? あるいは、^ の後に空白があるとか。
お礼
ありがとうございます。 以下のバッチでもテストしましたが、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)
> ^ をつけて実行すると二行目までは可能ですが、三行目からは別のコマンド扱いになってしまいます。。やはりないのでしょうか。。 うーん。同じコマンドではなく zip というアーカイブコマンドで試したのですが、 5行に分けて書いても期待通りすべてのファイルをアーカイブしてくれています。 最終行を除いてすべての改行の直前にハットをつけなければいけない のですが、抜けていたりしませんか?
お礼
ありがとうございます。 抜けてはいませんでした。上に詳細を書きました。 ご存知でしたらご指導ください。よろしくお願いします。
- sakusaker7
- ベストアンサー率62% (800/1280)
"C:\Program Files\Lhaca\Lhaca.exe" ^ "test%hinichi%01.txt" ^ "test%hinichi%02.txt" のように、改行の直前に ハット('^')をおいてやればいけませんか?
お礼
ご回答ありがとうございます。 ^ をつけて実行すると二行目までは可能ですが、三行目からは別のコマンド扱いになってしまいます。。やはりないのでしょうか。。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
継続行の指定はなかったと思います
お礼
いくらネットで調べてもなかったので、やはりないのでしょうか。。 ありがとうございました。
お礼
スペース入れて確認しました!ありがとうございます。助かりました!