探検


【.cmd】 バッチファイルスクリプト %16 【.bat】

1デフォルトの名無しさん
垢版 |
2026/04/30(木) 21:13:56.05ID:uGnuijrC
拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです

※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう

過去スレ (※kako.5ch.io内にある過去スレは、Webブラウザ以外での閲覧を非推奨とします)
%15 https://mevius.5ch.io/test/read.cgi/tech/1663153441/
%14 https://mevius.5ch.io/test/read.cgi/tech/1597442426/
%13 https://mevius.5ch.io/test/read.cgi/tech/1542779527/
%12 https://mevius.5ch.io/test/read.cgi/tech/1489207631/
%11 https://kako.5ch.io/test/read.cgi/tech/1424858999/
%10 https://kako.5ch.io/test/read.cgi/tech/1374205515/
%9 https://kako.5ch.io/test/read.cgi/tech/1335015478/
%8 https://kako.5ch.io/test/read.cgi/tech/1315844420/
%7 https://kako.5ch.io/test/read.cgi/tech/1298873550/
%6 https://kako.5ch.io/test/read.cgi/tech/1277465356/
%5 https://kako.5ch.io/test/read.cgi/tech/1242268171/
%4 https://kako.5ch.io/test/read.cgi/tech/1229955189/
%3 https://kako.5ch.io/test/read.cgi/tech/1217860043/
%2 https://kako.5ch.io/test/read.cgi/tech/1197881068/
%1 https://kako.5ch.io/test/read.cgi/tech/1178281991/
バッチファイルプログラミング 3.bat
https://kako.5ch.io/test/read.cgi/tech/1148485555/
バッチファイルプログラミング 2.bat
https://kako.5ch.io/test/read.cgi/tech/1104911889/
バッチファイルプログラミング質問スレ
https://kako.5ch.io/test/read.cgi/tech/1040614686/
2デフォルトの名無しさん
垢版 |
2026/04/30(木) 21:17:10.86ID:730jzqBd
>>1
3デフォルトの名無しさん
垢版 |
2026/04/30(木) 21:26:36.98ID:uGnuijrC
関連スレ
Windows Terminal ターミナルスレ
https://mevius.5ch.io/test/read.cgi/tech/1754966849/
PowerShell -Part 7
https://mevius.5ch.io/test/read.cgi/tech/1701241669/
VBSで便利なプログラムを作れスレ 2
https://mevius.5ch.io/test/read.cgi/tech/1539439008/
【VBScript】WSHについて話し合うスレ【JScript】
https://mevius.5ch.io/test/read.cgi/tech/1578522041/
4デフォルトの名無しさん
垢版 |
2026/05/02(土) 16:21:54.96ID:fMXuCP5r
@echo off
2026/05/12(火) 07:39:56.31ID:AxXi4jRd
find /i "5ch" >nul
if errorlevel 1 (
goto :eof
) else if errorlevel 0 (
call :sub
)
2026/05/27(水) 18:05:20.63ID:xr2alpu9
構文ハイライトやファイルピッカーで超便利に"edit"できる「Microsoft Edit v2.0.0」を試してみた | TECH+(テックプラス)
https://news.mynavi.jp/techplus/article/20260527-editv2/
2026/06/10(水) 12:42:21.03ID:qcGnUmOV
株式会社アイ・エス・ビー
https://kizuna.5ch.io/test/read.cgi/infosys/1756826944/

https://www1.daiwair.jp/qlviewer/e-cast/2509059702scTvDPnFfu/index.html

https://special.nikkeibp.co.jp/atclh/ONB/24/isb0809/
2026/06/11(木) 12:57:58.56ID:cjnUFp4N
自作のバッチファイルを起動時に
セキュリティ警告(不明な発行元)が
同じPC環境で出るのと出ないのと2種類あるんだけど
バッチの何が違うんだろうか?
2026/06/11(木) 13:18:59.69ID:cjnUFp4N
inetcpl.cplを実行して設定を弄ると出なくなるようだけど
設定を弄らなくても出ないバッチがあるので意味不明
2026/06/11(木) 19:37:57.12ID:YNkOPaJi
別のPCからコピーしたバッチとか?
ファイル右クリプロパティ1番下の「許可する」
或いは
ttps://learn.microsoft.com/en-us/sysinternals/downloads/streams
streams -d *.bat
11デフォルトの名無しさん
垢版 |
2026/06/11(木) 20:03:55.88ID:GHmKjfnZ
作成者とか更新者とかなんか違うかも
2026/06/12(金) 05:53:44.54ID:kEgo4cyN
バッチのあるフォルダで違うみたいだ
数日前から警告が出るようになった
Windows Updateのせいかも
設定を甘くすると野良のexeもスルーするだろうし
特定のbatだけ警告が出ないようにできないのかな
毎回Rを押すのは面倒
2026/06/12(金) 15:14:34.36ID:m9nfgHNm
権限の問題だろう
親フォルダとサブフォルダ、ファイルに自分のアカウントかAuthenticated usersやusersをフルコントロールで追加しても警告出る?
2026/06/12(金) 17:01:50.60ID:kEgo4cyN
アクセス許可はドライブ、フォルダ、ファイル、すべてフルコントロールです。
NTFSですが代替データストリームはありませんでした。
原因が不明で不気味ですが、とりあえずRキー押しで起動することにします。
2026/06/13(土) 00:05:45.45ID:Um5sHhNt
共有フォルダとかnetworkドライブ?
2026/06/13(土) 07:47:41.00ID:SZtxTAQk
なんか壊れてんじゃね?
ttps://cutxout.hatenadiary.jp/entry/20260224/1771895679
17デフォルトの名無しさん
垢版 |
2026/06/23(火) 11:31:02.12ID:fNl3NTwF
win11でusbメモリの特定のフォルダの特定のファイル名のファイルを
実行したバッチファイルのあるフォルダにコピーしたい
USBメモリのドライブレターは不定です
USBメモリは1個しか刺さない
可能ならやり方教えてください
2026/06/23(火) 12:01:25.63ID:jTx5R+KE
volとlabel
区別していなかった
2026/06/23(火) 13:24:40.34ID:CioaPLog
全ドライブ総当りで良いんじゃね?
2026/06/23(火) 14:30:25.48ID:pd6+30K0
> 特定のフォルダの特定のファイル名のファイルを
無料版でもいいから具体例用いてAIに同じ質問してみな

USBメモリのファイル:
"[USBメモリのドライブレター:不定]:\test\test.txt"
を実行したバッチのディレクトリにコピーするバッチを書いて欲しい。

・USBのドライブレターは不定。バッチ側で自動で取得
・条件2
・条件3
など仕様を細かに箇条書き

> USBメモリは1つしか刺さらない
はクセ悪いので
・2つ以上検出した場合はエラー
とするか
・2つ以上検出した場合はファイルが存在する方を確認する
あるいは、以下は推奨しないが
・2つ以上検出する場合を想定しなくて良い
など
動かなかったら、ログ貼り付けて、を何度か繰り返したら出来るはず
21デフォルトの名無しさん
垢版 |
2026/06/23(火) 15:57:20.48ID:MzQH8l/s
リムーバブルドライブかどうか調べる方法は前スレ最後のほうで出てたね
2026/06/23(火) 18:35:27.88ID:pd6+30K0
やってみたら一発でまともなバッチを生成してきて拍子抜けというか変な笑い出たわw
少し前は1度目はもう少しツッコミどころのあるモノを生成して来てたと思うんだが
まあロジック的には単純だからかも知れんが成長を感じさせる
2026/06/24(水) 10:20:08.08ID:JcMsLUJs
for /f "delims=" %a in ('fsutil fsinfo drives')do @for %b in (%a)do @for /f %c in ('fsutil fsinfo drivetype %b^|findstr "リムーバブル Removable"')do @copy /v /y %ctest\test.txt
24別解
垢版 |
2026/06/25(木) 05:43:29.93ID:zzHamOuj
fsutil総当り: for %a in (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)do @fsutil fsinfo drivetype %a: 2>nul|findstr "リムーバブル Removable">nul&© /v /y %a:test\test.txt
PS: for /f "delims=" %a in ('powershell -nop -c "(gcim Win32_LogicalDisk -f 'DriveType=2').DeviceID"')do @copy /v /y %a\test\test.txt
diskpart on bat
@echo off
setlocal
:: 管理者権限のチェックと昇格(UAC呼び出し)・引数は引き継がない(別ウインドウになるので強制pause)
fltmc >nul || (powershell -nop -c "start \"%~f0\" -verb runas" &exit /b)
cd /d "%~dp0"

:: 第1引数に -np が無ければ終了前にpause。別のバッチからcallする場合などは-np付けて実行すればpauseしない
if not "%~1"=="-np" set "_pause=&pause"&set "pause_=pause&"

:: diskpart用一時ファイル作成
echo list volume>dp_livol.txt

:: diskpartを/sオプションで一時スクリプトを与えて実行しドライブレターを取得
set i=0
for /f "tokens=3" %%a in ('diskpart /s dp_livol.txt^|findstr "リムーバブル Removable"') do set /a i+=1 &set drv=%%a

:: 一時ファイル削除
del dp_livol.txt

:: ERROR判定
if %i% LEQ 0 echo ERROR: 対象が見付かりませんでした>&2 %_pause% &exit /b 1
if %i% EQU 1 echo %drv%:%_pause% &exit /b 0
if %i% GEQ 2 echo ERROR: 対象が複数存在します>&2 %_pause% &exit /b 1

:: EQU 1 の行を削除かコメントアウトすればコピー実行
copy /v /y %drv%:\test\test.txt && %pause_%exit /b 0
%pause_%exit /b 1
>>23が1番速い
2026/06/25(木) 05:56:10.52ID:zzHamOuj
©に化けた箇所
>nul && copy /v /y
2026/06/25(木) 07:46:35.52ID:JkilqUFW
なんという怠慢

Microsoftが提供するAIターミナル「Intelligent Terminal」は、現時点で.batファイル(Windowsコマンドプロンプト/cmd.exe)には正式対応していません。リリース当初はPowerShellのみの対応でしたが、最新のアップデート(バージョン v0.1.1681)により、新たに Bash(Linux環境)およびWSL Bash(Windows Subsystem for Linux)の自動エラー検出・修正提案機能 がサポートされました。サポート状況のまとめ🟢 PowerShell:初期から対応。🟢 Bash / WSL Bash:最新アップデート(v0.1.1681)で対応。❌ Command Prompt (.bat / cmd.exe):現時点ではAIエージェントによる自動検出・修正の対象外。
2026/06/26(金) 05:41:04.48ID:yb2J70RD
wmic
for /f "tokens=2 delims==" %a in ('wmic logicaldisk where "drivetype=2" get deviceid /value 2^>nul')do @for %b in (%a)do @echo %b
for /f %a in ('wmic logicaldisk where "drivetype=2" get deviceid 2^>nul^|find ":"')do @echo %a
下の方が可読性は良いが、上の方が6〜11ms速い
50回平均を何度も計測して毎回この差だから誤差では無いはず
fsutil PS diskpart wmic で一通り揃ったのかな。他のやり方ってある?
2026/06/26(金) 06:00:55.62ID:g4L9w2RV
wmicて廃止予定じゃん
2026/06/28(日) 06:18:34.84ID:6zOHDBuU
最速は総当りだった。
@for /f "delims=" %%a in ('fsutil fsinfo drives')do @for %%b in (%%a)do @fsutil fsinfo drivetype %%b|findstr "リムーバブル Removable">nul&&@echo %%~db
総実行時間: 5499.1948 ms 50 回
平均実行時間: 109.983896 ms / 回

@for /f %%a in ('mountvol^|find ":\"')do @fsutil fsinfo drivetype %%a|findstr "リムーバブル Removable">nul&&@echo %%~da
総実行時間: 4770.8201 ms 50 回
平均実行時間: 95.416402 ms / 回

@for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do @if exist %%a:\ fsutil fsinfo drivetype %%a:|findstr "リムーバブル Removable">nul&&@echo %%a:
総実行時間: 3183.7575 ms 50 回
平均実行時間: 63.67515 ms / 回

@for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z)do @fsutil fsinfo drivetype %%a:|findstr "リムーバブル Removable">nul&&@echo %%a:
総実行時間: 18715.7432 ms 50 回
平均実行時間: 374.314864 ms / 回

fsutilにドライブレターを渡す前に if exist するだけで劇的に速くなった
30デフォルトの名無しさん
垢版 |
2026/06/28(日) 09:26:33.79ID:/+1cRAgo
>>29
解説お願い
2026/06/28(日) 11:31:00.04ID:6zOHDBuU
せめてどこの解説が欲しいのかくらい書いてよ
というか解説が必要なほど難解なことしてないし無いでしょ
何をやってるのか分からないのなら、コマンドをバラしてコマンドプロンプトに打ち込んで出力がどう変化していってるのか順番に追って確認すれば良いだけ
fsutil fsinfo drives
for /f "delims=" %a in ('fsutil fsinfo drives')do @echo %a
for /f "delims=" %a in ('fsutil fsinfo drives')do @for %b in (%a)do @echo %b
for /f "delims=" %a in ('fsutil fsinfo drives')do @for %b in (%a)do @fsutil fsinfo drivetype %b
for /f "delims=" %a in ('fsutil fsinfo drives')do @for %b in (%a)do @fsutil fsinfo drivetype %b|findstr "リムーバブル Removable"

因みにこれ
for /f "tokens=1*" %a in ('fsutil fsinfo drives')do @for %c in (%b)do @fsutil fsinfo drivetype %c|findstr "リムーバブル Removable">nul&&@echo %~dc
"tokens=1*" で ドライブ: を捨てるようにしたら少しだけ速くなった。90.636502 ms 2位に浮上
レスを投稿する


ニューススポーツなんでも実況