批处理文件如何通过迭代将文件复制到多台计算机?

4
我有以下批处理脚本,可以将文件从我的计算机复制到多台计算机。
@echo off

xcopy D:\some.txt \\10.124.66.72\texts

xcopy D:\some.txt \\10.294.66.46\testfolder

pause

在脚本中,我已经提到了所有其他计算机的名称/ IP。现在我该如何将其他计算机名称保留在单独的文本文件中,并在批处理文件中迭代它们,而不是多次编写 xcopy 命令?或者是否有可能列出计算机列表,迭代所有计算机并使用单个 xcopy 命令?

请告诉我,这个问题与Java有什么关系? - Seelenvirtuose
错误地保留了它。你能否请给我一些见解? - user755806
1个回答

7

试试这个:

FOR /F "delims=" %%i IN (targets.txt) DO (
 xcopy "D:\some.txt" "%%i"
)

targets.txt应该包含每行类似于"\\10.124.66.72\texts"的条目


感谢MichaelS,我需要在\10.124.66.72\texts和\10.294.66.46\testfolder之间加任何分隔符吗? - user755806
不,这个命令会逐行读取文件。 "Newline" 是默认分隔符。如果您想要在一行中存储多个目标并使用例如 ";" 进行分隔,则需要 delimeter 选项。但是,除非您想让自己困惑,否则我不知道这有什么用处 ;) - MichaelS
1
当读取文件时,tabspace是默认的分隔符。如果您的文件夹名称包含空格,则必须进行修改。 - foxidrive
1
@foxidrive 谢谢您的注意。正确的代码应该是:FOR /F "tokens=*" %%i IN (targets.txt) DO ( - Lyth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接