「Windows コマンド 拡張子をインクリメントしたファイルを作成する」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「==Windows コマンド 拡張子をインクリメントしたファイルを作成する== [スクリプト(Win)] ====key_file.bat==== @echo off rem **************…」) |
|||
1行目: | 1行目: | ||
==Windows コマンド 拡張子をインクリメントしたファイルを作成する== | ==Windows コマンド 拡張子をインクリメントしたファイルを作成する== | ||
− | [スクリプト(Win)] | + | [[スクリプト(Win)]] |
====key_file.bat==== | ====key_file.bat==== | ||
@echo off | @echo off | ||
25行目: | 25行目: | ||
) | ) | ||
if %NEXT_NUM% LEQ %LIMIT% ( | if %NEXT_NUM% LEQ %LIMIT% ( | ||
− | type NUL | + | type NUL > %~1.%NEXT_NUM% |
del %~1.%CUR_NUM% | del %~1.%CUR_NUM% | ||
) | ) |
2020年2月15日 (土) 08:06時点における版
Windows コマンド 拡張子をインクリメントしたファイルを作成する
key_file.bat
@echo off rem ******************************************************************** rem rem key_file [キーファイル名(拡張子を除く)] [最大数] rem rem 呼び出されるたびに、キーファイル名+"."+数値+1 のファイルを作成し、 rem キーファイル名+"."+数値のファイルを削除する rem rem 拡張子が、指定された最大数に達したら何も行わない rem rem 使用例:key_file.bat "C:\work\KEY_FILE" 3 rem rem ******************************************************************** set /A LIMIT=%2 set /A CUR_NUM=0 set /A NEXT_NUM=1 set KEYFILE="%~1.*" for %%keyf in (%KEYFILE%) do ( call :calc_extension_num %%keyf ) if %NEXT_NUM% LEQ %LIMIT% ( type NUL > %~1.%NEXT_NUM% del %~1.%CUR_NUM% ) goto :end @echo on :calc_extension_num set EXTENSION=%~x1 set /A CUR_NUM=%EXTENSION:~1% set /A TMP_NUM=%CUR_NUM% + 1 if %TMP_NUM% GTR %NEXT_NUM% ( set NEXT_NUM=%TMP_NUM% ) :end
© 2006 矢木浩人