Batch file Windows 7批处理文件到xcopy from";文件路径“u from.csv”;至;文件路径“u到.csv”;

Batch file Windows 7批处理文件到xcopy from";文件路径“u from.csv”;至;文件路径“u到.csv”;,batch-file,csv,windows-7,xcopy,Batch File,Csv,Windows 7,Xcopy,我相信以前已经做过,但源目标列在文件“filepath_from.csv”中,其内容如下: .\ARCHIVE\FOO.PDF, .\ARCHIVE\BAR.PDF 到文件“filepath_To.csv”对应第i行上的目标: Windows 7批处理文件如何在copy命令中创建目标目录的位置复制这些文件 编辑:如果它简化了事情,我可以让生成这两个.csv文件的程序简单地生成一个包含两列的.csv文件。将此代码放入bat文件并运行它。 它从filepath_from.csv读取要复制到

我相信以前已经做过,但源目标列在文件“filepath_from.csv”中,其内容如下:

.\ARCHIVE\FOO.PDF,  
.\ARCHIVE\BAR.PDF  
到文件“filepath_To.csv”对应第i行上的目标:

Windows 7批处理文件如何在copy命令中创建目标目录的位置复制这些文件


编辑:如果它简化了事情,我可以让生成这两个.csv文件的程序简单地生成一个包含两列的.csv文件。

将此代码放入bat文件并运行它。 它从filepath_from.csv读取要复制到的路径,并将每个路径复制到filepath_to.csv中指定的路径。文件路径_to.csv从应用程序stream3读取。它避免了对标准输入的干扰。在标准for循环中读取.csv中的文件路径_。 我假设两个文件的行数相等

@echo off
setlocal EnableDelayedExpansion

3<filepath_from.csv (
   for /F "delims=" %%a in (filepath_to.csv) do (
      set line=
      set /P line=<&3
      copy /Y /Z "!line!" "%%a" 
      rem Or use      xcopy "!line!" "%%~dpa" /Y /Z
   )
)
@echo关闭
setlocal EnableDelayedExpansion

3这些是csv文件中唯一的列吗?它们是否进行了很好的同步?这些是唯一的列,它们是同步的-每个条目都有一个匹配的路径from和path to。@user2727391请不要在问题中添加“SOLVED”。我们已经知道你得到了一个帮助你的答案,这是左边空白处的指示。我实际上有第二个csv文件,但想用写在两个csv文件中的路径执行xcopy命令(或者一个csv文件的两列,如果更简单,如编辑问题),你无法写入正在读取的文件。因此,您必须创建第二个csv。如果要在第二个文件中放置两列:旧路径和新路径:将“echo%1%%~nxa>>filepath_to.csv”替换为“echo%%a,%1%%~nxa>>filepath_to.csv”我想我们仍然不在同一页上-我有两个csv文件要开始,我想将第一个csv文件中列出的pdf文件复制到第二个csv文件中列出的位置。我并没有试图创建“filepath_to.csv”,而是试图读取它。我看不到代码中有任何区别。上面的一个也应该符合您的标准。如果存在filepath_to.csv,则内容将被追加。而@mihai_mandis的区别在于-追加/创建文件已经得到处理。我需要读取已存在文件的内容,并将其用作xcopy命令的“to”参数:
xcopy line\u from\u filepath\u to line\u from\u filepath\u from
@echo off
setlocal EnableDelayedExpansion

3<filepath_from.csv (
   for /F "delims=" %%a in (filepath_to.csv) do (
      set line=
      set /P line=<&3
      copy /Y /Z "!line!" "%%a" 
      rem Or use      xcopy "!line!" "%%~dpa" /Y /Z
   )
)