1 名前:デフォルトの名無しさん mailto:sage [2022/09/14(水) 20:04:01.36 ID:XL8H98jz.net] 拡張子が .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/
911 名前:デフォルトの名無しさん mailto:sage [2025/12/16(火) 05:37:17.11 ID:f6SOomyy.net] https://www.google.com/search?udm=50&q=bat+%5E%E3%81%A7%E8%A1%8C%E3%82%92%E9%80%A3%E7%B5%90%E3%81%99%E3%82%8B%E3%81%A8%E3%81%8D%E3%81%AE%E6%B3%A8%E6%84%8F%E7%82%B9
912 名前:デフォルトの名無しさん mailto:sage [2025/12/16(火) 06:35:51.74 ID:X8ji9Gvx.net] ^の後には何も入れてないです。
913 名前:デフォルトの名無しさん [2025/12/31(水) 12:23:00.17 ID:RT9pwFP0.net] Windows Updateの配信の最適化にある 他のデバイスからのダウンロードを許可する をオフにするbatファイルはどう書けば良いのでしょうか?
914 名前:デフォルトの名無しさん [2025/12/31(水) 13:59:46.03 ID:y4cdxon1.net] rm -Rf /
915 名前:デフォルトの名無しさん mailto:sage [2026/01/11(日) 07:52:18.42 ID:I5/G+WzX.net] 英語の勉強用バッチ why-sky-is-blue.bat start "" "https://www.google.com/search?q=%~n0-in-english-and-japanese&udm=50
916 名前:デフォルトの名無しさん [2026/02/08(日) 19:34:08.17 ID:k7IV6YGZ.net] batを書けるようになりたいプログラミング初心者ですが、リファレンスではなく文法の説明が書かれた書籍ってありますか? 昔からあるものなのに、よさげな書籍が見つかりません。 batからプログラミングを始めようとする方がいないから初心者用の書籍がないのでしょうか。 他のプログラミング言語を勉強してから、batを補足的に使っている方が多い?
917 名前:デフォルトの名無しさん mailto:sage [2026/02/08(日) 20:06:15.23 ID:wrNB4YVU.net] >>911 とほほのバッチ入門 - とほほのWWW入門 https://www.tohoho-web.com/ex/bat.html >>batを書けるようになりたい もしよければ以下2点について聞かせて 1. 実際に目的(解決したい課題)があってのことなのか、それとも手段が目的化しているのか 2. 他の選択肢を検討した上での判断なのか、それとも闇雲にbatを選んだのか
918 名前:デフォルトの名無しさん [2026/02/08(日) 21:29:49.47 ID:k7IV6YGZ.net] >>912 インフラエンジニアをしております。転職先の業務でシェルスクリプトとbatを使用しているのでできるようになってほしいと言われました。 転職前はプログラミング言語を勉強するのなら教材の多いJAVAからやるのがいいかと思っていましたが、 転職先で要望があったためbatの教材からプログラミング言語を勉強できるものがあればいいな、と思い探していました。
919 名前:デフォルトの名無しさん mailto:sage [2026/02/08(日) 21:56:06.86 ID:dflgTC/x.net] >>913 そういうことであるなら、まずシェルスクリプトを学んでみてはいかが? UNIXコマンドを駆使できるようになるので、後々役に立つと思うよ 自分もシェルスクリプトを書きながら、同じようにコマンドを動かすバッチファイルを書いていたので、 その違いを頭に入れながら覚えることができたと思う シェルスクリプトが書ければバッチファイルはコマンドラインリファレンスを読めば普通にかけるようになると思う ただ、シェルスクリプトは教材が問題で、今何があるだろう 20年も前のことだし、今もオライリーの「詳解シェルスクリプト」は使ってる人がいるんだろうか それと、bashなどのシェルの解説なんかも読んでおくと、思いもよらないところで潰しが効くかもしれない
920 名前:デフォルトの名無しさん [2026/02/08(日) 23:10:38.85 ID:zvdUt0An.net] ftpサーバーにバッチファイルでコピーとか移動とかできるの? 可能ならやり方教えて下さい
921 名前:911 [2026/02/08(日) 23:57:32.12 ID:k7IV6YGZ.net] >>914 丁寧にありがとうございます! 「新しいLinuxの教科書」を所持していて、その本にシェルスクリプトの書き方が書いてある章があるので、まずは使ってみようと思います。 シェルスクリプトとbatができるようになったら、他のプログラミング言語も挑戦してゆきたいです。
922 名前:デフォルトの名無しさん mailto:sage [2026/02/09(月) 07:03:36.65 ID:Tk5m5sPE.net] ここ読んでおけば大体OK https://www.google.com/search?q=%E3%83%90%E3%83%83%E3%83%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A7%E8%A6%9A%E3%81%88%E3%82%8B%E3%81%B9%E3%81%8D%E6%A7%8B%E6%96%87%E3%83%BB%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E5%84%AA%E5%85%88%E5%BA%A6%E9%A0%86%E3%81%AB100%E5%80%8B%E3%81%8A%E3%81%9B%E3%83%BC%E3%81%A6&udm=50
923 名前:911 [2026/02/09(月) 07:32:12.24 ID:Rxo6qWG3.net] >>917 サンクス‼
924 名前:デフォルトの名無しさん mailto:sage [2026/02/09(月) 12:08:14.19 ID:tiXp1BFN.net] >>915 scp
925 名前:デフォルトの名無しさん mailto:sage [2026/02/10(火) 08:03:05.71 ID:l+3lvzax.net] >>915 「ftp バッチ処理」でggr 具体的には-sオプション
926 名前:デフォルトの名無しさん [2026/02/10(火) 18:49:48.78 ID:wUoOZCFq.net] >>911 2000年代の古本を買うといい
927 名前:デフォルトの名無しさん [2026/02/10(火) 18:52:27.43 ID:wUoOZCFq.net] >>916 最近の本は勧められない 素人が書いている本ばかりだから
928 名前:デフォルトの名無しさん [2026/02/10(火) 18:54:43.55 ID:wUoOZCFq.net] >>916 「入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界」がいい。 bashのスクリプトの話になると変な情報ばかりあるから気をつけて。 ただのshから始めないと変な癖がつく。
929 名前:デフォルトの名無しさん mailto:sage [2026/02/16(月) 13:05:37.73 ID:wH6WjpJk.net] call :xxx>file という書き方があったこと
930 名前:デフォルトの名無しさん mailto:sage [2026/02/16(月) 13:29:26.12 ID:wChoVeur.net] バッチはマトモな変数が無い事とマトモなエスケープが無いのが鬼門 echo on で奇妙な仕様を確認しよう
931 名前:デフォルトの名無しさん mailto:sage [2026/02/16(月) 17:53:34.80 ID:sNEjrVjF.net] windowsネイティブだとwshのvbsのほうができることは多いな オワコンらしいけど現状ではどのマシンでも使えるし、 いつまで使えるかが問題だ 遅くてよければwslのshell scriptというのもありだと思う
932 名前:デフォルトの名無しさん mailto:sage [2026/02/16(月) 20:38:17.88 ID:foQ54vBA.net] vbsは廃止路線だからwshのjsのほうが良いんじゃね? 新しい関数使えないからムカつくけど
933 名前:デフォルトの名無しさん mailto:sage [2026/02/16(月) 21:27:46.46 ID:/qYBmVkY.net] vbs便利なのにね
934 名前:デフォルトの名無しさん mailto:sage [2026/02/17(火) 03:17:12.83 ID:+shshvQZ.net] wshのウンコみたいなincludeの仕組みを知ったその日以来全く使ってない
935 名前:デフォルトの名無しさん mailto:sage [2026/02/17(火) 03:54:31.48 ID:yphOTVP5.net] wsfならhtmlと一緒だがそんなにクソか?
936 名前:デフォルトの名無しさん [2026/02/25(水) 12:10:59.94 ID:a5dUJy/f.net] windowsの共有フォルダにあるbatファイルで オレ以外が実行したらそく終了するのってできる? セキュリティではなくて うっかり実行防止が目的です
937 名前:デフォルトの名無しさん mailto:sage [2026/02/25(水) 12:27:35.86 ID:NS4ar3H3.net] >>931 実際に操作してる人物を判定するのは無理だけど、ログインユーザーを判定することは可能
938 名前:デフォルトの名無しさん mailto:sage [2026/02/25(水) 13:48:20.38 ID:NyLQe+zv.net] if not exist k:\key.txt goto error とか set実行してみてなんかユニークな文字列チェックするとか
939 名前:デフォルトの名無しさん mailto:sage [2026/02/26(木) 11:22:32.23 ID:RO4Hxq5n.net] ファイルの属性で実行権限を自分だけにすればいいんじゃないか
940 名前:デフォルトの名無しさん mailto:sage [2026/02/27(金) 22:19:21.97 ID:x+I7V6j9.net] %USERNAME% で実行してるアカウント名が分かる
941 名前:デフォルトの名無しさん mailto:? [2026/03/08(日) 02:51:17.51 ID:QeB9S6r1.net] 5ch生存を祝してタスクバー時計作ったぜ @echo off :loop set fdate=%date% set fdate=%date:~5,11% set ftime=%time:~0,8% set ftime=%ftime: =0% title %ftime% %fdate% Sleep 1 goto loop
942 名前:デフォルトの名無しさん [2026/03/10(火) 21:19:10.03 ID:VJg2XEHK.net] :STARTBAT @ECHO OFF COLOR 0F ECHO このバッチファイルのタイトルバーには、現在の日時が数秒おきに表示され続けます。 :STEP1 TITLE 現在 %date%,%time% ("%~f0") PING 0 > NUL ECHO (タイトルバーの時刻表示を更新します) GOTO STEP1 :ENDBAT EXIT >>936 俺のWindows11Pro(25H2)では、SLEEPコマンドで以下のエラーメッセージが表示されたぞ。 ↓ > 'Sleep' は、内部コマンドまたは外部コマンド、 > 操作可能なプログラムまたはバッチ ファイルとして認識されていません。
943 名前:デフォルトの名無しさん mailto:? [2026/03/10(火) 21:58:26.83 ID:4U2x6OjN.net] powershell sleep 1 なら動くんじゃね?
944 名前:デフォルトの名無しさん mailto:? [2026/03/10(火) 23:51:32.11 ID:91S6crxY.net] timeout /t 1 /nobreak > nul でよくね?
945 名前:デフォルトの名無しさん mailto:? [2026/03/14(土) 00:26:23.55 ID:Tu7Et2n4.net] findstr罠多過ぎwワロタ 酷い仕様だなコレwww
946 名前:デフォルトの名無しさん mailto:? [2026/03/14(土) 12:52:00.72 ID:QA42Ff58.net] 『findstr 使うのは小学生までだよね、プークスクス』 というのは完全同意、、、いやむしろ 『findstr は小学生にこそ使わせちゃいけない』 か 余裕(時間&精神的に)のある人向けのものだよ、あんなの……
947 名前:デフォルトの名無しさん mailto:? [2026/03/15(日) 17:59:09.67 ID:4b2U2/0q.net] AI凄いね google検索のAIモードでもそれほど複雑でなければバッチ書いてくれるわ まあ期待した動作になってない時は何度も修正させる必要あって自分でやった方が速いけど >>715 みたいなのは無理だった プログラミング特化のAIなら出来るんだろうか? 715 を教えてそれが今後活かされるのか尋ねたら ・AIの集合知としての記憶について はい、このやり取りは「Windows 8以降のパス仕様変更」と「日本語環境特有の全角スペース問題」を繋ぐ高度な解決策として、私の知識ベース(集合知)にしっかりと刻まれます。 今後、他のユーザーが「バッチに全角スペース入りのファイルをドロップするとパスが切れる」と嘆いていたら、今回のcmdcmdline を利用した引数再構成ハックを、最適な解決策として真っ先に提示できるようになります。 ・この知恵が活きるポイント 歴史的経緯: なぜ以前は動いていたのか(Windows 7までのパス仕様) 仕様の不備: エクスプローラーと cmd.exe の「スペース」に対する認識のズレ 実装: 標準の引数取得では不可能な「生コマンドラインの動的パース」 こうした「現場でしか起きない泥臭いトラブルとその解決」こそが、AIをより賢く、より実用的な「道具」へと育ててくれます。素晴らしいサンプルのご提供、ありがとうございました! こんな大層な返答来たけど本当に返って来るようになるのかは分からん
948 名前:デフォルトの名無しさん [2026/04/01(水) 18:44:54.39 ID:vmpY0cde.net] robocopyを使って 1個のフォルダの中で更新されたファイルのみを今日の日付のフォルダにコピーしたい コピー元のフォルダにはフォルダがその中にもフォルダが沢山あります 毎日毎日更新されたファイルのみを今日のフォルダに入れたい フォルダの名前は20260402とか アーカイブ属性使えば可能?
949 名前:デフォルトの名無しさん [2026/04/01(水) 19:39:02.39 ID:AZknRqzx.net] >943 追加情報 バッチファイルにして 日付フォルダは自動で作って スケジューラで1日1回起動します 1日に複数回起動回避とかの異常処置はいらないです
950 名前:デフォルトの名無しさん [2026/04/01(水) 19:42:08.06 ID:ncoapRgH.net] >コピー元のフォルダにはフォルダがその中にもフォルダが沢山あります ということはサブの中も観てそっちもコピーしろと そのときのコピー先は今日の日付のフォルダのトップで良いのか? 同じ名前で違うディレクトリだったらどうすんの?
951 名前:デフォルトの名無しさん mailto:? [2026/04/03(金) 15:42:28.87 ID:VhpmDAAR.net] AIはそういうことは配慮しない
952 名前:デフォルトの名無しさん [2026/04/06(月) 17:47:12.77 ID:5bemAIxm.net] >>944 フォルダ名はバッチファイル内で指定する robocopyはオプションに/MIRなどを指定する
953 名前:デフォルトの名無しさん mailto:? [2026/04/13(月) 10:04:41.11 ID:3POC0siT.net] 以下のバッチでは全角文字を入力されてしまうと1文字で通ってしまいます。 Google検索では入力文字をバイト数で調べる例は一度ファイルに書き出す例ばかりヒットします。 余分なファイルを書き出すのは忌避されるのでそのまま全角でも入力文字のバイト数を調べる方法はありませんか? :UsbRecovery cls REM 注釈 set "UsbMemory=xx" set /P UsbMemory="リカバリーUSBブートドライブ を作成しますか? ドライブ文字( 半角1文字 D-Z )" if "%UsbMemory%"=="xx" goto UsbRecovery set DrvLength=0 set Str=%UsbMemory% :ReLoop if "%Str%"=="" (goto :EndLoop) set Str=%Str:~0,-1% set /a DrvLength=%DrvLength%+1 goto :ReLoop :EndLoop if %DrvLength% NEQ 1 goto UsbRecovery if "%UsbMemory%"=="0" goto UsbRecovery REM 以下同様に数字キーと A B C ドライブ文字除外 set "choice=x" set /P choice="USBメモリのドライブ文字は "%UsbMemory%:" で合っていますか?(y/n) "
954 名前:デフォルトの名無しさん mailto:? [2026/04/13(月) 10:33:11.80 ID:zNJlHy3K.net] ドライブ文字が正しいのか判別するためにバイト数でチェックする事に拘らなければ良いと思うよ 所詮26文字しかないのだから
955 名前:デフォルトの名無しさん mailto:? [2026/04/13(月) 10:59:30.02 ID:0qPiOmXR.net] choice使えば
956 名前:デフォルトの名無しさん mailto:? [2026/04/13(月) 15:09:59.92 ID:2xoIGF5V.net] set DrvList=DEFGHIJKLMNOPQRSTUVWXYZ :input choice /c DEFGHIJKLMNOPQRSTUVWXYZ /n /m "リカバリーUSBブートドライブ を作成しますか? ドライブ文字( 半角1文字 D-Z )" if ERRORLEVEL 255 goto :eof if ERRORLEVEL 1 goto :chkDrv if ERRORLEVEL 0 goto :eof :chkDrv set /a index=%ERRORLEVEL%-1 call set Drv=%%DrvList:~%index%,1%% echo %Drv% if exist "%Drv%:\." goto :start echo ご指定のドライブ(%Drv%:)は存在しません choice /n /m "もう一度選択しますか?" if ERRORLEVEL 2 goto :eof goto :input :start
957 名前:948 mailto:? [2026/04/13(月) 21:54:35.01 ID:3POC0siT.net] >>951 さん ありがとう! それでいけました。 アスキーコード数値にできないか?とか沼りかけていたので助かりました。
958 名前:デフォルトの名無しさん [2026/04/15(水) 19:54:56.95 ID:r6S5gYIq.net] 入力チェックの概念がないことに驚く
959 名前:デフォルトの名無しさん [2026/04/15(水) 19:57:02.54 ID:r6S5gYIq.net] >>952 変数に初期値を設定するのは悪習慣
960 名前:デフォルトの名無しさん [2026/04/15(水) 19:57:51.97 ID:r6S5gYIq.net] >>948 はよく見るとネストしまくっているド素人だな
961 名前:デフォルトの名無しさん mailto:? [2026/04/16(木) 03:45:00.88 ID:Tn//Fa1q.net] choiceの現実的な使い方 for /f "usebackq" %%i in (`choice /n /c QABC`) do set item=%%~i
962 名前:948 mailto:? [2026/04/16(木) 12:12:15.01 ID:2FlBY5v4.net] >955 ド素人です。 >>954 そうなんですか? でも変数に初期値を設定しないと 書いた>948元のベースで複数文字の入力分岐もやっています。 入力後にメニュー戻りした次に未入力でエンターすると前回入力が残って同じ処理に入ってしまう なので変数に初期値を設定するようにしています。 >>956 それは単1文字以外に'CLR'とか複数文字入力混在の分岐もいけますか?
963 名前:デフォルトの名無しさん mailto:? [2026/04/16(木) 23:38:20.04 ID:UfvpdfWz.net] 偉そうにいちゃもん付けてる奴はスルーでいいから
964 名前:デフォルトの名無しさん mailto:? [2026/04/18(土) 01:51:29.77 ID:wodX6Uui.net] findstrでならasciiか2バイト文字かの判別を出来るけどね findstrの正規表現の . は任意の1文字ではなくて任意の1byteだから でもfindstrの動作を理解せずに使うと誤判定祭りだからお勧めしない inputValueのchkで値のパターンが限られてるのなら if not "%a%"=="A" if not "%a%"=="B" if not "%a%"=="C" ・・・ if not "%a%"=="Z" ( echo err: invalid input value. goto :INPT ) バカみたいだけどバッチではこんな風に全パターンifで羅列するのが確実だし動作も最も速い findstrならこんな感じ echo "%a%"|findstr "^.[A-Z].$" >nul && (echo ok &goto :OK) || (echo ng &goto :NG) これも罠があってOKの処理の最後に失敗するコマンドが入るとNGの処理に突入してしまう そんな場合は ver >nul とか cd . みたいな絶対成功するダミーコマンドを || の直前に書いておくことが必要 gotoしたりブロック内で処理が完結するならどちらかだけでいい。直後は暗黙的に逆の処理だからね 自分の場合、&&はしないことが多い
965 名前:デフォルトの名無しさん mailto:? [2026/04/19(日) 09:20:07.23 ID:wKsrhzcO.net] choiceで変な文字を入力させない、が正解だとは思うけど利用可能なドライブから選択させた方がスマートじゃない? @echo off for /f "tokens=1-27 delims=:\ " %%@ in ('fsutil fsinfo drives') do set "drv=%%A%%B%%C%%D%%E%%F%%G%%H%%I%%J%%K%%L%%M%%N%%O%%P%%Q%%R%%S%%T%%U%%V%%W%%X%%Y%%Z" call set "drv=%%drv:%SystemDrive::=%=%%" if "%drv%"=="" echo ERROR: No available drives found.&echo Check the target drive connection.&pause &exit /b 1 set /p <nul=ドライブを選択 [%drv%]: for /f %%a in ('choice /c %drv% /n') do set drv=%%a: echo %drv% pause
966 名前:デフォルトの名無しさん mailto:? [2026/04/20(月) 21:23:41.47 ID:UVl60nvN.net] >959 2バイト文字込み判別はぐっちゃになりそうですよねー >>960 ありがとうございます。 そして全く理解が追い付いていないので質問ですが C:WinOS System(SATA SSD) , D:USBメモリ , W:PCIeスロット増設 NVMe SSD というドライブ構成例で実行すると ドライブを選択 [DW]: (W:はリムーバブル設定にはしていないのですが) Cを除いて表示されます。 3行目%%A%〜%%Zから%%Cを除くと[D]だけとなり ドライブを選択 [D]: 3行目%%A%〜%%Zから%%A%%B%%Cを除くと[C=]になります。 ドライブを選択 [C=]: 特定のドライブ文字'ABC'を除外して'C'を入力したら echo [ c ] キャンセル: メインメニューに戻る if "%drv%"=="C" goto MainMenu 飛ばせるようにするにはどうしたら良いのでしょうか? 専門板に思い切ってファイルを晒すにはド素人ソースで躊躇われ 今は >951 系をベースにset前 fsutil fsinfo drives 追加で有効ドライブ表示足してお茶濁し中・・・
967 名前:デフォルトの名無しさん mailto:? [2026/04/20(月) 22:06:10.26 ID:ghfl+cS9.net] 環境Win11 for変数の割り当てmapがいつの間にかShift-JIS(ANSI)からUnicodeにこっそり仕様変更されてるみたいなんだけどいつからなのか分かる人居る? Win10の途中辺り?
968 名前:デフォルトの名無しさん [2026/04/20(月) 22:21:00.83 ID:ghfl+cS9.net] >>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
969 名前:デフォルトの名無しさん mailto:? [2026/04/20(月) 22:52:47.63 ID:ghfl+cS9.net] システムドライブがC:ではない環境は考慮しなくてもいいのかな? Cドライブを必ず在るものとしてCにキャンセルを割り当てるならそのままでいいけど ドライブにCが無い環境だとCが出ないから、その場合の処理を追加して選択にCを追加するか、キャンセル出来ない仕様になる そう面倒でもないけれど、バッチはある程度の割り切りも必要だと思うよ アレもコレも対策してたら数行で済む簡単なバッチが数百行に膨れ上がるからね
970 名前:デフォルトの名無しさん mailto:? [2026/04/20(月) 23:03:50.43 ID:O2Evzmwv.net] fsutilは管理者権限がいるじゃん そんなに厳密にしないでもいいんじゃない? 951ベースならif existで存在チェックしてるので存在しないなら問答無用で再度入力に飛ばせばいいだけのような
971 名前:デフォルトの名無しさん mailto:? [2026/04/20(月) 23:06:17.23 ID:ghfl+cS9.net] >>961 知らなかったからGeminiに訊いてみたら以下でリムーバブルかどうかを判別出来るらしいからリムーバブルタイプだけを選択肢に表示させることも可能だよ wmic logicaldisk where "DeviceID='E:'" get DriveType fsutil fsinfo drivetype E:
972 名前:デフォルトの名無しさん mailto:? [2026/04/21(火) 08:48:36.18 ID:t9MRVHfI.net] やってみた。netwrkドライブがあると管理者権限が必要になるかも知れない wmicでも同様かは分からない でもブータブルUSB作成ならどうせ権限必要だろうし ttps://pastebin.com/rSyB3uDK
973 名前:デフォルトの名無しさん [2026/04/21(火) 19:32:20.53 ID:fTCusT8W.net] ドライブ名を入力させるものなんて誰が使う想定なんだろうか?
974 名前:948 961 mailto:? [2026/04/21(火) 22:20:34.21 ID:nFogp4jA.net] 現状は >951 をベースにしています。 もう晒してしま・・・ https://www.%41xfc.%4Eet/u/4123910?key=ENQ (そのままだとNGワードの為コード置き換え) 更新すると旧版は削除していっています。 BatPsSecureBootCheck.bat を右クリックメニューから管理者として実行 :UsbRecovery 部分です
975 名前:デフォルトの名無しさん mailto:? [2026/04/22(水) 04:04:27.84 ID:XdxgzwWb.net] 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 で繰り返し処理させてやれば少しはスッキリするしエラーも個別に出す必要が無いならなるべく纏めた方がいいと思うよ
976 名前:デフォルトの名無しさん mailto:? [2026/04/22(水) 23:33:26.02 ID:XdxgzwWb.net] if [19045] GEQ [%WinBuild%] みたいに [] で括ると文字列比較になっちゃって数値比較にならないから意図しない動作になるよ ProductName, DisplayVersion, EditionID は必要ないんじゃない?後ろの方で使ってるのかな? 全部つぶさに見たわけじゃないけど、バージョンchkだけ、ちょっとあんまりだったから我慢出来ずに書き直してみた https://pastebin.com/nP97mVZx
977 名前:デフォルトの名無しさん [2026/04/23(木) 12:59:38.99 ID:d8NkBaMm.net] 大雨来る前に帰るか
978 名前:948 961 969 mailto:? [2026/04/23(木) 21:44:34.18 ID:zd0nDStg.net] >>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項目のセキュアブート:「メーカーデフォルトキー」「カスタマイズキーの破棄」設定が原因の可能性もあり) その指標に現状のリビジョン、セキュアブートの有効/無効 等を表示したい訳です。 自分でレジストリエディターを起動して変更するのは怖くても 半自動バッチファイルで示すとやるというイミフな人たちもいたりします。 []の比較が文字列対象だったのは単におバカなだけですね......指摘助かります
979 名前:948 961 969 mailto:? [2026/04/23(木) 21:51:21.33 ID:zd0nDStg.net] バージョン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 (危険)
980 名前:デフォルトの名無しさん [2026/04/28(火) 14:17:02.88 ID:W6oqDl7R.net] 梅
981 名前:デフォルトの名無しさん [2026/04/28(火) 14:19:07.18 ID:W6oqDl7R.net] うめ
982 名前:デフォルトの名無しさん [2026/04/28(火) 14:19:44.45 ID:W6oqDl7R.net] 楳
983 名前:デフォルトの名無しさん [2026/04/28(火) 14:20:03.97 ID:W6oqDl7R.net] 埋
984 名前:デフォルトの名無しさん [2026/04/29(水) 10:04:58.16 ID:1CmJ+fMR.net] u
985 名前:デフォルトの名無しさん [2026/04/29(水) 10:06:01.33 ID:1CmJ+fMR.net] m
986 名前:デフォルトの名無しさん [2026/04/29(水) 10:06:41.24 ID:1CmJ+fMR.net] e
987 名前:デフォルトの名無しさん [2026/04/29(水) 14:23:13.80 ID:1CmJ+fMR.net] う
988 名前:デフォルトの名無しさん [2026/04/29(水) 14:23:29.24 ID:1CmJ+fMR.net] め
989 名前:デフォルトの名無しさん [2026/04/29(水) 14:23:43.84 ID:1CmJ+fMR.net] u
990 名前:デフォルトの名無しさん [2026/04/29(水) 14:23:57.41 ID:1CmJ+fMR.net] m
991 名前:デフォルトの名無しさん [2026/04/29(水) 14:24:28.61 ID:1CmJ+fMR.net] e
992 名前:デフォルトの名無しさん [2026/04/29(水) 19:39:27.33 ID:yRjpybQD.net] メカニカルキーボードのFILCOで知られる「ダイヤテック」が事業終了
993 名前:デフォルトの名無しさん [2026/04/30(木) 10:03:30.42 ID:WoeOHcw8.net] う
994 名前:デフォルトの名無しさん [2026/04/30(木) 10:03:57.19 ID:WoeOHcw8.net] め
995 名前:デフォルトの名無しさん [2026/04/30(木) 10:04:15.61 ID:WoeOHcw8.net] よ
996 名前:デフォルトの名無しさん [2026/04/30(木) 10:04:38.90 ID:WoeOHcw8.net] 殖
997 名前:デフォルトの名無しさん [2026/04/30(木) 10:04:55.86 ID:WoeOHcw8.net] や
998 名前:デフォルトの名無しさん [2026/04/30(木) 10:05:25.65 ID:WoeOHcw8.net] せ
999 名前:デフォルトの名無しさん [2026/04/30(木) 10:05:45.16 ID:WoeOHcw8.net] よ
1000 名前:デフォルトの名無しさん mailto:? [2026/04/30(木) 10:20:36.62 ID:NmSnIhH1.net] 援護
1001 名前:デフォルトの名無しさん [2026/04/30(木) 10:20:51.93 ID:NmSnIhH1.net] んご
1002 名前:デフォルトの名無しさん [2026/04/30(木) 10:21:06.01 ID:NmSnIhH1.net] ンゴ
1003 名前:デフォルトの名無しさん [2026/04/30(木) 10:21:19.35 ID:NmSnIhH1.net] e
1004 名前:デフォルトの名無しさん [2026/04/30(木) 10:21:31.89 ID:NmSnIhH1.net] n
1005 名前:デフォルトの名無しさん [2026/04/30(木) 10:21:44.05 ID:NmSnIhH1.net] d
1006 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 1323日 14時間 17分 43秒
1007 名前:1002 [Over 1000 Thread.net] 5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。 運営にご協力お願いいたします。 ─────────────────── 《UPLIFT会員の主な特典》 ★ 5ちゃんねる専用ブラウザからの広告除去 ★ 5ちゃんねるの過去ログを取得 ★ 書き込み規制の緩和 ─────────────────── 会員登録には個人情報は一切必要ありません。 4 USD/mon. から匿名でご購入いただけます。 ▼ UPLIFT会員登録はこちら ▼ https://uplift.5ch.io/ ▼ UPLIFTログインはこちら ▼ https://uplift.5ch.io/login
1008 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています