| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

Windows コマンド 拡張子をインクリメントしたファイルを作成する

提供: MyMemoWiki
2020年2月15日 (土) 07:36時点におけるPiroto (トーク | 投稿記録)による版 (ページの作成:「==Windows コマンド 拡張子をインクリメントしたファイルを作成する== [スクリプト(Win)] ====key_file.bat==== @echo off rem **************…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

Windows コマンド 拡張子をインクリメントしたファイルを作成する

[スクリプト(Win)]

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