File 批处理文件名重新编号

File 批处理文件名重新编号,file,batch-file,File,Batch File,我有一个批处理文件,它创建了一个日期为名称的.txt文件,例如11-09-2018.txt 有一个新的要求是每次运行时追加-n编号 比如: -第一次运行批处理文件将创建名为11-09-2018-1.txt的文件, -第二次运行将创建11-09-2018-2.txt, -第三次运行将创建11-09-2018-3.txt 下面是我当前创建名为Date的批处理文件的代码: @echo off for /F "tokens=2" %%i in ('date /t') do set mydate=%%i

我有一个批处理文件,它创建了一个日期为名称的
.txt
文件,例如
11-09-2018.txt

有一个新的要求是每次运行时追加
-n
编号

比如: -第一次运行批处理文件将创建名为
11-09-2018-1.txt的文件,
-第二次运行将创建
11-09-2018-2.txt
, -第三次运行将创建
11-09-2018-3.txt

下面是我当前创建名为Date的批处理文件的代码:

@echo off
for /F "tokens=2" %%i in ('date /t') do set mydate=%%i
set mydate=%mydate:/=-%
set filename=%mydate%.txt
然后在我想要的任何地方使用
%filename%


任何帮助都会很好。谢谢。

在名称后附加一个计数器,如果已经存在具有该名称的文件,请增加计数器

@echo off
for /F "tokens=2" %%i in ('date /t') do set "mydate=%%i"
set "mydate=%mydate:/=-%"
set "cnt=1"
:loop
set "filename=%mydate%-%cnt%.txt"
if exist "%filename%" (set /a "cnt+=1" & goto :loop)

如果已经存在具有该名称的文件,请在名称后附加一个计数器-增加计数器。谢谢@LotPings。请共享计数器增量的代码。我是批处理文件的新手,所以不太懂编码:)尝试过了,它创建了名称_1.txt,但没有添加更多的txt文件,只是在同一个文件中添加下一次运行的输出。这意味着“文件名”并不是每次都在改变。你能告诉我它具体在哪里检查“如果存在”%filename%“,哪个路径。也可以在这里给path/dir,比如“如果存在”C:/%filename%,“如果存在”C:/%filename%,“非常感谢@LotPings”