复制文件的方法,然后根据名称的文本列表重命名该文件

时间:2014-10-22 19:29:19

标签: excel powershell batch-file excel-2010

我有1个固件文件(例如:firmwareV27.bdnl)我需要复制并重命名为900多个文件(对于独特的设备)。我有一个唯一名称列表(目前在Excel中)但我不知道如何将原始文件复制到目录中,然后使用列表中的名称重命名它并循环直到完成。

如果有帮助,我正在使用带有Excel 2010的Windows 7 PC。

4 个答案:

答案 0 :(得分:0)

好的,我为你准备了一个班轮。您需要做的就是突出显示excel文件中的整个列,然后将其复制并粘贴到名为“filenames.txt”的文本文件中,这样每行只有一个文件,然后将其保存到与固件文件相同的目录中。

现在将其作为命令或批处理文件运行:

for /F %%i IN (filenames.txt) DO copy firmwareV27.bdnl %%i

你去,希望这有帮助!

答案 1 :(得分:0)

PowerShell的乐趣和所有,但你不需要它。在Excel中:

  • 将所有内容移至第B列
  • 在A栏中,写下copy firmwarev27.bdnl并双击角落方块以填充
  • 选择两列,复制并粘贴到记事本中
  • 保存为makecopies.bat文件,无论固件位于何处
  • 从命令提示符
  • 运行它

它有数百行,如:

copy firmwarev27.bdnl   name1.bdnl
copy firmwarev27.bdnl   name2.bdnl
copy firmwarev27.bdnl   name3.bdnl
copy firmwarev27.bdnl   name4.bdnl

但它快速而简单,并且不涉及任何编程,如果您不知道任何编程,这似乎很好。

答案 2 :(得分:0)

如果您已将名称保存在纯文本文件中,那么这是另一个应该可以解决的问题。

get-content -path filenames.txt | foreach {copy firmwareV27.bdnl $_}

如果Powershell位于具有固件的目录中且filenames.txt也在同一目录中,则此方法应该有效。根据需要修改路径。

答案 3 :(得分:0)

我能够使用bash脚本执行此操作。

#!/bin/bash
filename='filenames.txt'
echo Start
while read p; do
cp default.xsh ./new_sessions/$p.xsh
done < $filename
  1. 将要重命名的列表放在filenames.txt
  2. 将default.xsh替换为固件文件的名称,并将其与filenames.txt放在同一目录中
  3. new_sessions是我将重命名的副本放入的目录的名称。**