与随风兄的代码思路一样,测试代码:- ::-1
- @echo off 2>nul 3>nul
- set /p n=<"%~0"
- set "n=%n::=%"
- set /a n+=1,1/n && call echo 程序已经运行%%n%%次
- for /f "delims=" %%i in ('echo ::%n%^&more +1^<"%~0"') do (
- if not defined flag (set flag=a&echo %%i>"%~0") else echo %%i>>"%~0"
- )
- pause
复制代码 不过以下代码还有两个目的:
1、2>nul 3>nul
2、不生成临时文件修改自身文件内容除了有随风兄的写法外,还可以这样:- for /f "delims=" %%i in ('echo ::%n%^&more +1^<"%~0"') do (
- if not defined flag (set flag=a&echo %%i>"%~0") else echo %%i>>"%~0"
- )
复制代码
|