2

我正在尝试自动化从许多网络客户端计算机复制特定文件的手动工作。
所有客户端都会有一个需要不时备份的文件。
为此,我有一个客户端主机名列表。并且要备份的文件在每个主机的共享文件夹中。
现在我想要一个批处理文件,它创建一个具有“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

因为我是批处理脚本的新手,所以即使是一点点帮助也将不胜感激。
谢谢

4

1 回答 1

2

你可以尝试这样的事情:

for /F %x in ('type hostList.txt') do ( 
   copy \\%x\c$\data\data.txt \\MasterHost\d$\%date%\client1data.txt
)

而不是所有的复制...行。

于 2013-11-13T07:21:51.447 回答