我正在尝试自动化从许多网络客户端计算机复制特定文件的手动工作 所有客户都将有一个必须不时备份的文件 因为我有一个客户端主机名列表。并且要备份的文件位于每个主机的共享文件夹中 现在我想要一个批处理文件,用于创建一个“dd-mm-yyyy”格式的新文件夹,并将所有文件复制到masterHost。 因为我写了
@echo off
FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B
SET date=%dd%-%mm%-%yyyy%
echo New folder name %date%
MKDIR \\MasterHost\d$\%date%
copy \\client1\c$\data\data.txt \\MasterHost\d$\%date%\client1data.txt
copy \\client2\c$\data\data.txt \\MasterHost\d$\%date%\client2data.txt
copy \\client3\c$\data\data.txt \\MasterHost\d$\%date%\client3data.txt
copy \\client4\c$\data\data.txt \\MasterHost\d$\%date%\client4data.txt
copy \\client5\c$\data\data.txt \\MasterHost\d$\%date%\client5data.txt
现在任何人都可以帮助我从具有客户端主机名列表的文件中获取客户端名称,例如hostList.txt,因为我不希望每次都手动输入主机名...
hostList.txt看起来像这样
client1
client2
client3
client4
client5
.
.
.
etc
即使是一个小帮助也会受到赞赏,因为我是批处理脚本的新手。
感谢
答案 0 :(得分:2)
您可以尝试这样的事情:
for /F %x in ('type hostList.txt') do (
copy \\%x\c$\data\data.txt \\MasterHost\d$\%date%\client1data.txt
)
而不是所有复制......行。