拡張子が .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】
レス数が1000を超えています。これ以上書き込みはできません。
2022/09/14(水) 20:04:01.36ID:XL8H98jz
962デフォルトの名無しさん
2026/04/20(月) 22:06:10.26ID:ghfl+cS9 環境Win11
for変数の割り当てmapがいつの間にかShift-JIS(ANSI)からUnicodeにこっそり仕様変更されてるみたいなんだけどいつからなのか分かる人居る?
Win10の途中辺り?
for変数の割り当てmapがいつの間にかShift-JIS(ANSI)からUnicodeにこっそり仕様変更されてるみたいなんだけどいつからなのか分かる人居る?
Win10の途中辺り?
963デフォルトの名無しさん
2026/04/20(月) 22:21:00.83ID:ghfl+cS9 >>961
> 3行目%%A%〜%%Zから%%A%%B%%Cを除くと[C=]になります。
そこ除いたせで drv が空になって、call set "drv=%%drv:%SystemDrive::=%=%%" で%SystemDrive::=% と=だけ残ってdrvに"C="がsetされた結果だね
Cドライブ消さないなら
call set "drv=%%drv:%SystemDrive::=%=%%" の行を削除するか
以下みたいに
for /f "tokens=1*" %%a in ('fsutil fsinfo drives') do set "drv=%%b"
set "drv=%drv:\=%"
set "drv=%drv::=%"
set "drv=%drv: =%"
if "%drv%"=="" echo ERROR: 以下同じ
ドライブの:も邪魔なら以下の%%aの:も消せばいいよ
for /f %%a in ('choice /c %drv% /n') do set drv=%%a
> 3行目%%A%〜%%Zから%%A%%B%%Cを除くと[C=]になります。
そこ除いたせで drv が空になって、call set "drv=%%drv:%SystemDrive::=%=%%" で%SystemDrive::=% と=だけ残ってdrvに"C="がsetされた結果だね
Cドライブ消さないなら
call set "drv=%%drv:%SystemDrive::=%=%%" の行を削除するか
以下みたいに
for /f "tokens=1*" %%a in ('fsutil fsinfo drives') do set "drv=%%b"
set "drv=%drv:\=%"
set "drv=%drv::=%"
set "drv=%drv: =%"
if "%drv%"=="" echo ERROR: 以下同じ
ドライブの:も邪魔なら以下の%%aの:も消せばいいよ
for /f %%a in ('choice /c %drv% /n') do set drv=%%a
964デフォルトの名無しさん
2026/04/20(月) 22:52:47.63ID:ghfl+cS9 システムドライブがC:ではない環境は考慮しなくてもいいのかな?
Cドライブを必ず在るものとしてCにキャンセルを割り当てるならそのままでいいけど
ドライブにCが無い環境だとCが出ないから、その場合の処理を追加して選択にCを追加するか、キャンセル出来ない仕様になる
そう面倒でもないけれど、バッチはある程度の割り切りも必要だと思うよ
アレもコレも対策してたら数行で済む簡単なバッチが数百行に膨れ上がるからね
Cドライブを必ず在るものとしてCにキャンセルを割り当てるならそのままでいいけど
ドライブにCが無い環境だとCが出ないから、その場合の処理を追加して選択にCを追加するか、キャンセル出来ない仕様になる
そう面倒でもないけれど、バッチはある程度の割り切りも必要だと思うよ
アレもコレも対策してたら数行で済む簡単なバッチが数百行に膨れ上がるからね
965デフォルトの名無しさん
2026/04/20(月) 23:03:50.43ID:O2Evzmwv fsutilは管理者権限がいるじゃん
そんなに厳密にしないでもいいんじゃない?
951ベースならif existで存在チェックしてるので存在しないなら問答無用で再度入力に飛ばせばいいだけのような
そんなに厳密にしないでもいいんじゃない?
951ベースならif existで存在チェックしてるので存在しないなら問答無用で再度入力に飛ばせばいいだけのような
966デフォルトの名無しさん
2026/04/20(月) 23:06:17.23ID:ghfl+cS9 >>961
知らなかったからGeminiに訊いてみたら以下でリムーバブルかどうかを判別出来るらしいからリムーバブルタイプだけを選択肢に表示させることも可能だよ
wmic logicaldisk where "DeviceID='E:'" get DriveType
fsutil fsinfo drivetype E:
知らなかったからGeminiに訊いてみたら以下でリムーバブルかどうかを判別出来るらしいからリムーバブルタイプだけを選択肢に表示させることも可能だよ
wmic logicaldisk where "DeviceID='E:'" get DriveType
fsutil fsinfo drivetype E:
967デフォルトの名無しさん
2026/04/21(火) 08:48:36.18ID:t9MRVHfI やってみた。netwrkドライブがあると管理者権限が必要になるかも知れない
wmicでも同様かは分からない
でもブータブルUSB作成ならどうせ権限必要だろうし
ttps://pastebin.com/rSyB3uDK
wmicでも同様かは分からない
でもブータブルUSB作成ならどうせ権限必要だろうし
ttps://pastebin.com/rSyB3uDK
968デフォルトの名無しさん
2026/04/21(火) 19:32:20.53ID:fTCusT8W ドライブ名を入力させるものなんて誰が使う想定なんだろうか?
969948 961
2026/04/21(火) 22:20:34.21ID:nFogp4jA 現状は >951 をベースにしています。
もう晒してしま・・・
https://www.%41xfc.%4Eet/u/4123910?key=ENQ
(そのままだとNGワードの為コード置き換え)
更新すると旧版は削除していっています。
BatPsSecureBootCheck.bat を右クリックメニューから管理者として実行
:UsbRecovery 部分です
もう晒してしま・・・
https://www.%41xfc.%4Eet/u/4123910?key=ENQ
(そのままだとNGワードの為コード置き換え)
更新すると旧版は削除していっています。
BatPsSecureBootCheck.bat を右クリックメニューから管理者として実行
:UsbRecovery 部分です
970デフォルトの名無しさん
2026/04/22(水) 04:04:27.84ID:XdxgzwWb for %%a in (ProductName DisplayVersion CurrentBuild EditionID UBR) do for /f "tokens=2*" %%b in ('
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v %%a 2^>nul ^| find "%%a"
') do set "%%a=%%c"
:: 確認用echo
for %%a in (ProductName DisplayVersion CurrentBuild EditionID UBR) do call echo %%%%a%%
if not defined UBR goto :WINVERR
if not defined DisplayVersion goto :WINVERR
pause &exit /b
:WINVERR
echo 対象は以下のバージョン以上です。
echo Win10 21H2 19044.6575
echo Win10 22H2 19045.6575
echo Win11 24H2 26100.7171
echo Win11 25H2 26200.7171
echo.
pause &exit /b 1
凄い頑張ってるとは思うけど、似たようなコマンドが並ぶ時は for で繰り返し処理させてやれば少しはスッキリするしエラーも個別に出す必要が無いならなるべく纏めた方がいいと思うよ
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v %%a 2^>nul ^| find "%%a"
') do set "%%a=%%c"
:: 確認用echo
for %%a in (ProductName DisplayVersion CurrentBuild EditionID UBR) do call echo %%%%a%%
if not defined UBR goto :WINVERR
if not defined DisplayVersion goto :WINVERR
pause &exit /b
:WINVERR
echo 対象は以下のバージョン以上です。
echo Win10 21H2 19044.6575
echo Win10 22H2 19045.6575
echo Win11 24H2 26100.7171
echo Win11 25H2 26200.7171
echo.
pause &exit /b 1
凄い頑張ってるとは思うけど、似たようなコマンドが並ぶ時は for で繰り返し処理させてやれば少しはスッキリするしエラーも個別に出す必要が無いならなるべく纏めた方がいいと思うよ
971デフォルトの名無しさん
2026/04/22(水) 23:33:26.02ID:XdxgzwWb if [19045] GEQ [%WinBuild%] みたいに [] で括ると文字列比較になっちゃって数値比較にならないから意図しない動作になるよ
ProductName, DisplayVersion, EditionID は必要ないんじゃない?後ろの方で使ってるのかな?
全部つぶさに見たわけじゃないけど、バージョンchkだけ、ちょっとあんまりだったから我慢出来ずに書き直してみた
https://pastebin.com/nP97mVZx
ProductName, DisplayVersion, EditionID は必要ないんじゃない?後ろの方で使ってるのかな?
全部つぶさに見たわけじゃないけど、バージョンchkだけ、ちょっとあんまりだったから我慢出来ずに書き直してみた
https://pastebin.com/nP97mVZx
972デフォルトの名無しさん
2026/04/23(木) 12:59:38.99ID:d8NkBaMm 大雨来る前に帰るか
973948 961 969
2026/04/23(木) 21:44:34.18ID:zd0nDStg >>971
>後ろの方で使ってるのかな?
このスプリクトもバージョンチェックと注意警告だけで他の条件処理には使っていないはずです。
スマートな処理を書けないレベルでなさけないですが
冒頭部分でやりたいのは排他処理ではなく
ProductName, DisplayVersion, EditionID をぐちゃぐちゃ取得しているのは
Windows11 でそれぞれを取得すると以下の例とかになるからで
ProductName 「Windows 10 Pro」← これがねー
DisplayVersion 「25H2」
EditionID 「Professional」
ちゃんと Windows 11 〜 と 起動OS環境 %CheckUEFI% と適用外警告も表示させたい為にです。
[AU]項目のセキュアブートアップグレードキー AvailableUpdates 0x5944 対象がバージョン制約ありでも表示だけです。
後、今年の1月大型アップデートからセキュアブートキー自動更新でハングアップするPC環境がそれなりに出ているようです。
ネットから遮断し一時対処に AvailableUpdates 0x0 するか
セキュアブートDisabled後に回避処置してからセキュアブートEnabled戻しをしないと
セキュアブート起動に失敗する(繰り返す)という事態も。
(たぶんUEFI-BIOS項目のセキュアブート:「メーカーデフォルトキー」「カスタマイズキーの破棄」設定が原因の可能性もあり)
その指標に現状のリビジョン、セキュアブートの有効/無効 等を表示したい訳です。
自分でレジストリエディターを起動して変更するのは怖くても
半自動バッチファイルで示すとやるというイミフな人たちもいたりします。
[]の比較が文字列対象だったのは単におバカなだけですね......指摘助かります
>後ろの方で使ってるのかな?
このスプリクトもバージョンチェックと注意警告だけで他の条件処理には使っていないはずです。
スマートな処理を書けないレベルでなさけないですが
冒頭部分でやりたいのは排他処理ではなく
ProductName, DisplayVersion, EditionID をぐちゃぐちゃ取得しているのは
Windows11 でそれぞれを取得すると以下の例とかになるからで
ProductName 「Windows 10 Pro」← これがねー
DisplayVersion 「25H2」
EditionID 「Professional」
ちゃんと Windows 11 〜 と 起動OS環境 %CheckUEFI% と適用外警告も表示させたい為にです。
[AU]項目のセキュアブートアップグレードキー AvailableUpdates 0x5944 対象がバージョン制約ありでも表示だけです。
後、今年の1月大型アップデートからセキュアブートキー自動更新でハングアップするPC環境がそれなりに出ているようです。
ネットから遮断し一時対処に AvailableUpdates 0x0 するか
セキュアブートDisabled後に回避処置してからセキュアブートEnabled戻しをしないと
セキュアブート起動に失敗する(繰り返す)という事態も。
(たぶんUEFI-BIOS項目のセキュアブート:「メーカーデフォルトキー」「カスタマイズキーの破棄」設定が原因の可能性もあり)
その指標に現状のリビジョン、セキュアブートの有効/無効 等を表示したい訳です。
自分でレジストリエディターを起動して変更するのは怖くても
半自動バッチファイルで示すとやるというイミフな人たちもいたりします。
[]の比較が文字列対象だったのは単におバカなだけですね......指摘助かります
974948 961 969
2026/04/23(木) 21:51:21.33ID:zd0nDStg バージョンchk部分は [] で括るの修正しただけです
ver.2026-04-23 約14.8 MB
https://www.%41xfc.%4Eet/u/4124095?key=ENQ
修正: PowerShell 専用 Psフォルダを構築
追加: ver.2026-04-23 : Ps\BatPsSecureBootloaderPreserve.ps1
追加: ver.2026-04-23 : Ps\BatPsSecureBootloaderRecovery.ps1 (危険)
ver.2026-04-23 約14.8 MB
https://www.%41xfc.%4Eet/u/4124095?key=ENQ
修正: PowerShell 専用 Psフォルダを構築
追加: ver.2026-04-23 : Ps\BatPsSecureBootloaderPreserve.ps1
追加: ver.2026-04-23 : Ps\BatPsSecureBootloaderRecovery.ps1 (危険)
975デフォルトの名無しさん
2026/04/28(火) 14:17:02.88ID:W6oqDl7R 梅
976デフォルトの名無しさん
2026/04/28(火) 14:19:07.18ID:W6oqDl7R うめ
977デフォルトの名無しさん
2026/04/28(火) 14:19:44.45ID:W6oqDl7R 楳
978デフォルトの名無しさん
2026/04/28(火) 14:20:03.97ID:W6oqDl7R 埋
979デフォルトの名無しさん
2026/04/29(水) 10:04:58.16ID:1CmJ+fMR u
980デフォルトの名無しさん
2026/04/29(水) 10:06:01.33ID:1CmJ+fMR m
981デフォルトの名無しさん
2026/04/29(水) 10:06:41.24ID:1CmJ+fMR e
982デフォルトの名無しさん
2026/04/29(水) 14:23:13.80ID:1CmJ+fMR う
983デフォルトの名無しさん
2026/04/29(水) 14:23:29.24ID:1CmJ+fMR め
984デフォルトの名無しさん
2026/04/29(水) 14:23:43.84ID:1CmJ+fMR u
985デフォルトの名無しさん
2026/04/29(水) 14:23:57.41ID:1CmJ+fMR m
986デフォルトの名無しさん
2026/04/29(水) 14:24:28.61ID:1CmJ+fMR e
987デフォルトの名無しさん
2026/04/29(水) 19:39:27.33ID:yRjpybQD メカニカルキーボードのFILCOで知られる「ダイヤテック」が事業終了
988デフォルトの名無しさん
2026/04/30(木) 10:03:30.42ID:WoeOHcw8 う
989デフォルトの名無しさん
2026/04/30(木) 10:03:57.19ID:WoeOHcw8 め
990デフォルトの名無しさん
2026/04/30(木) 10:04:15.61ID:WoeOHcw8 よ
991デフォルトの名無しさん
2026/04/30(木) 10:04:38.90ID:WoeOHcw8 殖
992デフォルトの名無しさん
2026/04/30(木) 10:04:55.86ID:WoeOHcw8 や
993デフォルトの名無しさん
2026/04/30(木) 10:05:25.65ID:WoeOHcw8 せ
994デフォルトの名無しさん
2026/04/30(木) 10:05:45.16ID:WoeOHcw8 よ
995デフォルトの名無しさん
2026/04/30(木) 10:20:36.62ID:NmSnIhH1 援護
996デフォルトの名無しさん
2026/04/30(木) 10:20:51.93ID:NmSnIhH1 んご
997デフォルトの名無しさん
2026/04/30(木) 10:21:06.01ID:NmSnIhH1 ンゴ
998デフォルトの名無しさん
2026/04/30(木) 10:21:19.35ID:NmSnIhH1 e
999デフォルトの名無しさん
2026/04/30(木) 10:21:31.89ID:NmSnIhH1 n
1000デフォルトの名無しさん
2026/04/30(木) 10:21:44.05ID:NmSnIhH1 d
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 1323日 14時間 17分 43秒
新しいスレッドを立ててください。
life time: 1323日 14時間 17分 43秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【速報】星野真里(44) 24時間テレビのマラソンランナーに決定! [Ailuropoda melanoleuca★]
- 5歳の男の子が行方不明 温泉施設で家族と入浴中 裸のまま行方不明に 鹿児島・霧島市 [七波羅探題★]
- 【涙の理由】チュニジア代表DFが怒り爆発「日本代表を見てみろ」…W杯敗退決定、チーム作りに不満「無理に決まっている」 [王子★]
- アルバイト女性(30)と小学生女児(10) 練炭が置かれた車内で発見される [お断り★]
- 米国のZ世代 「スマホやSNSが生活を覆い尽くす前の世界に住みたい」将来に悲観、テクノロジー支配に疲弊、米世論調査 [お断り★]
- 【サッカーW杯】4-0 日本代表・森保ジャパン、チュニジアに歴史的4発大勝 アジア勢の1次L連敗を「6」で止めた★5 [ゴアマガラ★]
- 【実況】博衣こよりのえちえち栄冠ナイン2029🧪
- ぐらころ新作確定のお🏡👊😅👊サトコォ~
- 🏡ふなっていいとも!増刊号🕶(⁠・⁠o⁠・⁠🍬)
- 【悲報】ビートたけし、高市早苗の誹謗中傷疑惑騒動を巡り「週刊誌は売るために書いてるだけで素直に受け止められない」と発言 [616817505]
- 【高市悲報】埼玉県警、900万円の移動式オービスを盗まれる→凶悪犯を追う勢いで県内大捜索www [834922174]
- 【悲報】FF7さん、エロMODでとんでもないことになる [618199789]