Csv 将动态文件名复制到具有日期的其他目录的批处理文件
好的,我们正在尝试将三个迭代次数不同的文件复制到另一个文件夹中,并在文件名后添加日期。这是我们的代码:Csv 将动态文件名复制到具有日期的其他目录的批处理文件,csv,batch-file,file-rename,file-copying,Csv,Batch File,File Rename,File Copying,好的,我们正在尝试将三个迭代次数不同的文件复制到另一个文件夹中,并在文件名后添加日期。这是我们的代码: @ECHO off XCOPY /y /c z:\accounting\daily\test\fdxe*.csv rem get date, make it file name friendly FOR /F "tokens=1-4 delims=/ " %%i in ('date/t') do set d=%%j%%k%%l set csv=fdxe*%d%.csv ren fdxe*.
@ECHO off
XCOPY /y /c z:\accounting\daily\test\fdxe*.csv
rem get date, make it file name friendly
FOR /F "tokens=1-4 delims=/ " %%i in ('date/t') do set d=%%j%%k%%l
set csv=fdxe*%d%.csv
ren fdxe*.csv %csv%
move fdxe*.csv \\newserver\Export\Fedex\test\
@ECHO on
现在,它正在将文件复制到适当的文件夹中,并且正在添加日期,但在扩展名.csv
之后继续添加日期。因此,我们最终得到:fdxe1.csv012016
我们做错了什么?我们通过将文件移到上面然后重命名来解决问题。我还使用
?
而不是*
更改了重命名部分,以便将其保留在原始文件名中。现在的代码是:
@ECHO off
XCOPY /y /c z:\accounting\daily\test\fdxe*.csv
move fdxe*.csv \\devserver\Elliott_Export\Fedex\test\
rem get date, make it file name friendly
FOR /F "tokens=1-4 delims=/ " %%i in ('date/t') do set d=%%j%%k%%l
rename \\newserver\Export\Fedex\test\?.??? ?????_%d%.???
@Echo on
为什么不使用FOR命令来迭代所有文件,并使用命令修饰符将基本文件名从扩展名中分离出来呢?批处理文件是我几乎没有经验的东西。