- 【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net
801 :デフォルトの名無しさん[sage]:2016/12/10(土) 00:17:50.34 ID:CO5JTr10 - pushd "%~dp1" || exit /b
if not exist "title.txt" exit /b for /f "usebackq delims=" %%a in ("title.txt") do ( ren "%~1" "%%~a%~x1" shift ) forの中でshiftが働きません どう書けば良いでしょうか? 選択ファイルをドラッグ&ドロップしてtitle.txtの順通りにリネームしたいです
|
- 【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net
802 :801[sage]:2016/12/10(土) 14:16:28.41 ID:CO5JTr10 - 自己解決しました
@echo off pushd "%~dp1" || exit /b if not exist "title.txt" exit /b :LOOP if "%~1"=="" pause &exit /b for /f "usebackq %SKIP%%N% delims=" %%a in ("title.txt") do ( ren "%~1" "%%~a%~x1" || (echo "%~1" "%%~a%~x1"&pause &exit /b) goto :NEXT ) :NEXT if not defined SKIP set SKIP=skip= set /a N+=1 shift &goto :LOOP
|
- 【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net
804 :デフォルトの名無しさん[sage]:2016/12/10(土) 16:20:43.39 ID:CO5JTr10 - >>803
ありがとうございます callで遅延展開風にする場合%で囲むと思っていたので call ren "%%~1%" "%%~a%%~x1%" と書いていて出来ませんでした call ren "%%~1" "%%~a%%~x1" と書けば良かったのですね %で囲むではなく「%を重ねる」と覚えるようにします
|