Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Csv 将动态文件名复制到具有日期的其他目录的批处理文件_Csv_Batch File_File Rename_File Copying - Fatal编程技术网

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命令来迭代所有文件,并使用命令修饰符将基本文件名从扩展名中分离出来呢?批处理文件是我几乎没有经验的东西。