拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです
※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう
過去スレ
%14 https://mevius.5ch.net/test/read.cgi/tech/1597442426/
%13 https://mevius.2ch.net/test/read.cgi/tech/1542779527/
%12 https://mevius.2ch.net/test/read.cgi/tech/1489207631/
%11 https://echo.2ch.net/test/read.cgi/tech/1424858999/
%10 https://peace.2ch.net/test/read.cgi/tech/1374205515/
%9 https://toro.2ch.net/test/read.cgi/tech/1335015478/
%8 https://toro.2ch.net/test/read.cgi/tech/1315844420/
%7 https://hibari.2ch.net/test/read.cgi/tech/1298873550/
%6 https://hibari.2ch.net/test/read.cgi/tech/1277465356/
%5 https://pc12.2ch.net/test/read.cgi/tech/1242268171/
%4 https://pc12.2ch.net/test/read.cgi/tech/1229955189/
%3 https://pc11.2ch.net/test/read.cgi/tech/1217860043/
%2 https://pc11.2ch.net/test/read.cgi/tech/1197881068/
【.cmd】 バッチファイルスクリプト %1 【.bat】
https://pc11.2ch.net/test/read.cgi/tech/1178281991/
バッチファイルプログラミング 3.bat
https://pc11.2ch.net/test/read.cgi/tech/1148485555/
バッチファイルプログラミング 2.bat
https://pc8.2ch.net/test/read.cgi/tech/1104911889/
バッチファイルプログラミング質問スレ
https://pc5.2ch.net/test/read.cgi/tech/1040614686/
探検
【.cmd】 バッチファイルスクリプト %15 【.bat】
レス数が900を超えています。1000を超えると表示できなくなるよ。
2022/09/14(水) 20:04:01.36ID:XL8H98jz
889デフォルトの名無しさん
2025/12/11(木) 21:47:13.12ID:FGoG9TJ/ ありがとうございます。
ついでに元ファイルを削除する場合はどう書けばいいのでしょうか?
for %%f in (*.png) do (if /I not "%%f"=="output.png" del "%%f")
これだと削除されなかったのですが
ついでに元ファイルを削除する場合はどう書けばいいのでしょうか?
for %%f in (*.png) do (if /I not "%%f"=="output.png" del "%%f")
これだと削除されなかったのですが
890デフォルトの名無しさん
2025/12/11(木) 21:54:32.51ID:FGoG9TJ/ 失礼しました。
なんとかなりました。
なんとかなりました。
891デフォルトの名無しさん
2025/12/12(金) 08:36:30.41ID:kUSQ7o+M PCのCopilotを呼び出すbatの書き方を教えてください。
892デフォルトの名無しさん
2025/12/12(金) 11:46:37.54ID:kUSQ7o+M 自己解決しました。
893デフォルトの名無しさん
2025/12/12(金) 12:39:23.24ID:kUSQ7o+M 呼び出す方法は以下になりますが、これだと起動に時間がかかります。
もう少し素早く起動させる方法はないでしょうか?
@echo off
tasklist | find "pwahelper.exe" > NUL
if %ERRORLEVEL% == 0 (
taskkill /im pwahelper.exe /f
) else (
start shell:Appsfolder\Microsoft.Copilot_8wekyb3d8bbwe!App
)
もう少し素早く起動させる方法はないでしょうか?
@echo off
tasklist | find "pwahelper.exe" > NUL
if %ERRORLEVEL% == 0 (
taskkill /im pwahelper.exe /f
) else (
start shell:Appsfolder\Microsoft.Copilot_8wekyb3d8bbwe!App
)
894デフォルトの名無しさん
2025/12/12(金) 12:52:42.13ID:kUSQ7o+M 修正できました。
895デフォルトの名無しさん
2025/12/12(金) 13:29:31.62ID:kUSQ7o+M すいません。
修正できたと思ったのですが、無理でした。
batで素早くCopilotを起動する方法を教えてください。
ちなみにショートカットキー(Windowsキー+Cキー)だとすぐに起動します。
修正できたと思ったのですが、無理でした。
batで素早くCopilotを起動する方法を教えてください。
ちなみにショートカットキー(Windowsキー+Cキー)だとすぐに起動します。
896デフォルトの名無しさん
2025/12/13(土) 13:19:14.23ID:jWXCFmDk start shell〜は内部でexplorerに解釈を丸投げする方法
バッチでそれ以上に早く呼ぶ手段は無い
バッチでそれ以上に早く呼ぶ手段は無い
897デフォルトの名無しさん
2025/12/13(土) 13:30:19.84ID:BSmFYLNE わかりました。
898デフォルトの名無しさん
2025/12/15(月) 05:49:22.65ID:oaXs9VJj そういうのはahkでやれ
ahkはWindowsのシェルスクリプト最強格
ahkはWindowsのシェルスクリプト最強格
899デフォルトの名無しさん
2025/12/15(月) 11:03:37.81ID:u2LUgxm/ ッベでめずらしいcmdネタ
https://www.youtube.com/watch?v=o71nZkMx62w
https://www.youtube.com/watch?v=o71nZkMx62w
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 すまん
俺が間違って覚えてただけだったみたいだ
俺のレスは忘れてくれ
俺が間違って覚えてただけだったみたいだ
俺のレスは忘れてくれ
905デフォルトの名無しさん
2025/12/15(月) 20:04:51.36ID:EpUZkvst え
じゃあ引き続き回答を待ちます。
じゃあ引き続き回答を待ちます。
レスを投稿する
レス数が900を超えています。1000を超えると表示できなくなるよ。
