Batch file 批处理文件编号保存文件
我正在使用计划任务运行批处理文件以导出备份。在用于导出的命令中,它使用“FILE=filename”。我给了它一个名字,但我如何才能使它编号,这样它就不会覆盖?(例如,文件1、文件2、文件3)Batch file 批处理文件编号保存文件,batch-file,export,scheduled-tasks,Batch File,Export,Scheduled Tasks,我正在使用计划任务运行批处理文件以导出备份。在用于导出的命令中,它使用“FILE=filename”。我给了它一个名字,但我如何才能使它编号,这样它就不会覆盖?(例如,文件1、文件2、文件3) 如果您在同一目录中,请感谢: @echo off setlocal enableDelayedExpansion set "file_name_pattern=file" for %%a in (file*) do ( set "file_name=%%~na" ) set "last_fil
如果您在同一目录中,请感谢:
@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
只要编号的文件少于10个,就可以正常工作。@Stephan-damn。忘记这一点。将包括调用
DIR
或者更确切地说FOR/L
ahm-我不想取笑你,但是你的FOR/L
解决方案:如果你发现第一个“不存在”文件,就不需要添加一个…那么我的导出命令将放在代码中的什么位置?e、 g.exp user/pass FILE=FILE.dmpThanks@npocmaka该命令如我前面的注释所示:exp user/pass FILE=“FILE.dmp”