ッベでめずらしいcmdネタ
https://www.youtube.com/watch?v=o71nZkMx62w
【.cmd】 バッチファイルスクリプト %15 【.bat】
レス数が900を超えています。1000を超えると表示できなくなるよ。
899デフォルトの名無しさん
2025/12/15(月) 11:03:37.81ID:u2LUgxm/900デフォルトの名無しさん
2025/12/15(月) 15:02:20.18ID:EpUZkvst @echo off
"WinSCP.comのパス" ^
/command ^
"open ftps://ユーザー名:パスワード@ホスト名 -explicit" ^
"synchronize remote -delete ローカルホスト リモートホスト" ^
"exit"
こちらのbatなのですが、なぜかインデントを入れないと正常に動作しません。
インデントなしでも正常に動作する方法はありますか?
"WinSCP.comのパス" ^
/command ^
"open ftps://ユーザー名:パスワード@ホスト名 -explicit" ^
"synchronize remote -delete ローカルホスト リモートホスト" ^
"exit"
こちらのbatなのですが、なぜかインデントを入れないと正常に動作しません。
インデントなしでも正常に動作する方法はありますか?
901デフォルトの名無しさん
2025/12/15(月) 18:49:38.02ID:JO3wGpxW インデント(半角空白1文字でいい)がないと誤動作する場合が出てくる
行連結するには
^(キャレット)は行の最後に書き、その後ろには改行しかないこと(半角空白があるとそれも含めて連結される)
キャレットの後ろの改行は消えることになるので次の行の先頭の文字はどういう扱いになるのか
^(改行)
(次の行の先頭文字)
とあったら
^(次の行の先頭文字)
というように改行が消えてなくなるわけ
で、この場合、^の付いた(次の行の先頭文字)はエスケープした単なる文字として取り扱われることになる
「^"」は単なる文字となるわけ
とすると""の中にある半角空白で引数が分離されることになる
この特性を利用して
set LF=^
と2行分改行のみの行を記述するというテクニックが使えることになる
行連結するには
^(キャレット)は行の最後に書き、その後ろには改行しかないこと(半角空白があるとそれも含めて連結される)
キャレットの後ろの改行は消えることになるので次の行の先頭の文字はどういう扱いになるのか
^(改行)
(次の行の先頭文字)
とあったら
^(次の行の先頭文字)
というように改行が消えてなくなるわけ
で、この場合、^の付いた(次の行の先頭文字)はエスケープした単なる文字として取り扱われることになる
「^"」は単なる文字となるわけ
とすると""の中にある半角空白で引数が分離されることになる
この特性を利用して
set LF=^
と2行分改行のみの行を記述するというテクニックが使えることになる
902デフォルトの名無しさん
2025/12/15(月) 18:58:19.54ID:JO3wGpxW ただし、上で書いたようにキャレットの後ろに半角空白を置くというのはまあ止めておくこと
素直にインデントしとけ
素直にインデントしとけ
903デフォルトの名無しさん
2025/12/15(月) 19:04:07.62ID:EpUZkvst わかりましたインデントします。
904デフォルトの名無しさん
2025/12/15(月) 19:09:33.68ID:JO3wGpxW すまん
俺が間違って覚えてただけだったみたいだ
俺のレスは忘れてくれ
俺が間違って覚えてただけだったみたいだ
俺のレスは忘れてくれ
レスを投稿する
レス数が900を超えています。1000を超えると表示できなくなるよ。
