添加注释到用于通过批处理脚本将文件复制到多台PC的文本文件

时间:2015-08-11 15:03:53

标签: batch-file

我有一个脚本,可以根据文本文件中保存的列表将数据文件复制到许多用户PC。我的所有PC名称都是数字,如果我可以在文本文件中的每一行添加注释来表示它的PC,那么效率会更高。

我已经尝试过rem和::但没有成功。有什么建议吗?

批处理脚本代码
for / F“tokens = *”%% 1 in(C:\ targetPCs.txt)do(
echo将文件复制到%% 1
复制“\\ server4 \ data \ Files \ Cube \ cube.mdc”“\\ %% 1 \ Cube”

targetPCs.txt示例
NY-PC-421
NY-PC-718
NY-PC-111
NY-PC-601

2 个答案:

答案 0 :(得分:0)

这在几篇帖子中得到了解答,所以你可以通过简单的搜索找到答案,无论如何你可以使用eol参数来忽略以#开头的行

批处理脚本代码

for /F "eol=# tokens=*" %%1 in (C:\targetPCs.txt) do ( 
echo Copying files to %%1 
copy "\\server4\data\Files\Cube\cube.mdc" "\\%%1\Cube" 
)

targetPCs.txt示例

#John's pc
NY-PC-421
#server 12
NY-PC-718
#etc etc
NY-PC-111 
NY-PC-601

答案 1 :(得分:0)

据推测,PC名称不能包含空格。因此,您只需将所有者的名称附加到每一行,并至少有一个插入空间。然后修改你的FOR / F以保留第一个令牌。

<强> targetPCs.txt

NY-PC-421 Bruce
NY-PC-718 Joanie
NY-PC-111 Stuart
NY-PC-601 Mary

批处理脚本

for /F "tokens=1" %%1 in (C:\targetPCs.txt) do (
  echo Copying files to %%1
  copy "\\server4\data\Files\Cube\cube.mdc" "\\%%1\Cube"
)

或者您可以解析要在消息中使用的PC名称和所有者名称:

for /F "tokens=1*" %%1 in (C:\targetPCs.txt) do (
  echo Copying files to %%1 [%%2]
  copy "\\server4\data\Files\Cube\cube.mdc" "\\%%1\Cube"
)