【.cmd】 バッチファイルスクリプト %16 【.bat】at TECH【.cmd】 バッチファイルスクリプト %16 【.bat】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト21:デフォルトの名無しさん 26/06/23 15:57:20.48 MzQH8l/s.net リムーバブルドライブかどうか調べる方法は前スレ最後のほうで出てたね 22:デフォルトの名無しさん 26/06/23 18:35:27.88 pd6+30K0.net やってみたら一発でまともなバッチを生成してきて拍子抜けというか変な笑い出たわw 少し前は1度目はもう少しツッコミどころのあるモノを生成して来てたと思うんだが まあロジック的には単純だからかも知れんが成長を感じさせる 23:デフォルトの名無しさん 26/06/24 10:20:08.08 JcMsLUJs.net 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:別解 26/06/25 05:43:29.93 zzHamOuj.net 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番速い 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch