【发布时间】:2014-07-17 08:09:58
【问题描述】:
我正在使用计划任务来运行批处理文件以导出备份。在用于导出的命令中,它使用“FILE=filename”。我给它起了一个名字,但我怎样才能让它编号,这样它就不会被覆盖? (例如文件 1、文件 2、文件 3)。
谢谢
【问题讨论】:
标签: batch-file export scheduled-tasks
我正在使用计划任务来运行批处理文件以导出备份。在用于导出的命令中,它使用“FILE=filename”。我给它起了一个名字,但我怎样才能让它编号,这样它就不会被覆盖? (例如文件 1、文件 2、文件 3)。
谢谢
【问题讨论】:
标签: batch-file export scheduled-tasks
如果你在同一个目录:
@echo off
setlocal enableDelayedExpansion
set "file_name_pattern=file"
for %%a in (file*) do (
set "file_name=%%~na"
)
set "last_file_number=!file_name:%file_name_pattern%=!"
echo last file number : !last_file_number!
set /a next_file_number=last_file_number
set next_file=!file_name_pattern!%next_file_number%
echo next file : %next_file%
endlocal
FOR /L的解决方案
@echo off
setlocal enableDelayedExpansion
set "file_name_pattern=file"
set init=1
for /l %%n in (1;1;10000) do (
echo %%n
if not exist "!file_name_pattern!%%n" (
set last_file_number=%%n
goto :break_for
rem
)
)
:break_for
echo last file number : !last_file_number!
set /a next_file_number=last_file_number+1
set next_file=!file_name_pattern!%next_file_number%
echo next file : %next_file%
endlocal
【讨论】:
DIR或更确切地说FOR /L的电话
FOR /L 解决方案:如果你找到了第一个“不存在”的文件,则无需添加...跨度>