[過去ログ] 【.cmd】 バッチファイルスクリプト %15 【.bat】 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
963: 04/20(月)22:21 ID:ghfl+cS9(2/4) AAS
>>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: =%"
省3
964: 04/20(月)22:52 ID:ghfl+cS9(3/4) AAS
システムドライブがC:ではない環境は考慮しなくてもいいのかな?
Cドライブを必ず在るものとしてCにキャンセルを割り当てるならそのままでいいけど
ドライブにCが無い環境だとCが出ないから、その場合の処理を追加して選択にCを追加するか、キャンセル出来ない仕様になる
そう面倒でもないけれど、バッチはある程度の割り切りも必要だと思うよ
アレもコレも対策してたら数行で済む簡単なバッチが数百行に膨れ上がるからね
965: 04/20(月)23:03 ID:O2Evzmwv(1) AAS
fsutilは管理者権限がいるじゃん
そんなに厳密にしないでもいいんじゃない?
951ベースならif existで存在チェックしてるので存在しないなら問答無用で再度入力に飛ばせばいいだけのような
966: 04/20(月)23:06 ID:ghfl+cS9(4/4) AAS
>>961
知らなかったからGeminiに訊いてみたら以下でリムーバブルかどうかを判別出来るらしいからリムーバブルタイプだけを選択肢に表示させることも可能だよ
wmic logicaldisk where "DeviceID='E:'" get DriveType
fsutil fsinfo drivetype E:
967: 04/21(火)08:48 ID:t9MRVHfI(1) AAS
やってみた。netwrkドライブがあると管理者権限が必要になるかも知れない
wmicでも同様かは分からない
でもブータブルUSB作成ならどうせ権限必要だろうし
外部リンク:pastebin.com
968: 04/21(火)19:32 ID:fTCusT8W(1) AAS
ドライブ名を入力させるものなんて誰が使う想定なんだろうか?
969: 948 961 04/21(火)22:20 ID:nFogp4jA(1) AAS
現状は >951 をベースにしています。
もう晒してしま・・・
外部リンク:www.%41xfc.%4Eet/u/4123910?key=ENQ
(そのままだとNGワードの為コード置き換え)
更新すると旧版は削除していっています。
BatPsSecureBootCheck.bat を右クリックメニューから管理者として実行

:UsbRecovery 部分です
970: 04/22(水)04:04 ID:XdxgzwWb(1/2) AAS
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 対象は以下のバージョン以上です。
省7
971
(1): 04/22(水)23:33 ID:XdxgzwWb(2/2) AAS
if [19045] GEQ [%WinBuild%] みたいに [] で括ると文字列比較になっちゃって数値比較にならないから意図しない動作になるよ
ProductName, DisplayVersion, EditionID は必要ないんじゃない?後ろの方で使ってるのかな?
全部つぶさに見たわけじゃないけど、バージョンchkだけ、ちょっとあんまりだったから我慢出来ずに書き直してみた
外部リンク:pastebin.com
972: 04/23(木)12:59 ID:d8NkBaMm(1) AAS
大雨来る前に帰るか
973: 948 961 969 04/23(木)21:44 ID:zd0nDStg(1/2) AAS
>>971
>後ろの方で使ってるのかな?
このスプリクトもバージョンチェックと注意警告だけで他の条件処理には使っていないはずです。

スマートな処理を書けないレベルでなさけないですが
冒頭部分でやりたいのは排他処理ではなく
ProductName, DisplayVersion, EditionID をぐちゃぐちゃ取得しているのは
Windows11 でそれぞれを取得すると以下の例とかになるからで
ProductName 「Windows 10 Pro」← これがねー
DisplayVersion 「25H2」
EditionID 「Professional」
省11
974: 948 961 969 04/23(木)21:51 ID:zd0nDStg(2/2) AAS
バージョンchk部分は [] で括るの修正しただけです
ver.2026-04-23 約14.8 MB
外部リンク:www.%41xfc.%4Eet/u/4124095?key=ENQ
修正: PowerShell 専用 Psフォルダを構築
追加: ver.2026-04-23 : Ps\BatPsSecureBootloaderPreserve.ps1
追加: ver.2026-04-23 : Ps\BatPsSecureBootloaderRecovery.ps1 (危険)
975: 04/28(火)14:17 ID:W6oqDl7R(1/4) AAS

976: 04/28(火)14:19 ID:W6oqDl7R(2/4) AAS
うめ
977: 04/28(火)14:19 ID:W6oqDl7R(3/4) AAS

978: 04/28(火)14:20 ID:W6oqDl7R(4/4) AAS

979: 04/29(水)10:04 ID:1CmJ+fMR(1/8) AAS
u
980: 04/29(水)10:06 ID:1CmJ+fMR(2/8) AAS
m
981: 04/29(水)10:06 ID:1CmJ+fMR(3/8) AAS
e
982: 04/29(水)14:23 ID:1CmJ+fMR(4/8) AAS

1-
あと 20 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.021s