「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 矢木浩人