我需要帮助编写批处理文件来更新数据库上的模板。基本上,我们所有的客户都有自己的文件夹,里面有多个模板。由于我办公室的计算机文盲(叹气),没有更好的方法来解决这个问题。但是,我需要一种方法来批量更新这些模板。例如
\\SERVER\New Client Template Folder\Correspondence\Transmittal Letter.WPD
已更新。然后我需要将其复制到:
\\SERVER\Client Files\Client 1\Correspondence;
\\SERVER\Client Files\Client 2\Correspondence;
...等。基本上,我需要复制到\\SERVER\Client Files\\*\\
,我需要将其作为一个批处理文件,我可以训练其他人在我离开这份工作时使用。我怎么能这样做?
感谢。
答案 0 :(得分:1)
Windows的新版本(7和2008 Server R2)具有强大的文件复制工具(robocopy
)。这可以安装在XP上,2003也可以使用Resource Kit安装。从本质上讲,robocopy
为您提供了一个命令行目录镜像工具,可以帮助您完成您要执行的操作。只需将robocopy
命令放入批处理文件(/MIR
=镜像目录内容/XJ
=忽略联结):
robocopy <source_dir> <destination_dir> /MIR /XJ
答案 1 :(得分:0)
您没有说明您正在使用哪种操作系统。让我猜看它的窗户。我的DOS BAT文件知识有限,但是你 可以尝试用以下内容创建BAT文件:
set Src="\\SERVER\New Client Template Folder\Correspondence\Transmittal Letter.WPD"
set DestA="\\SERVER\Client Files\
set DestB=\Correspondence;"
FOR /F "delims=" %%i IN (distribution.txt) DO copy %Src% %DestA%%%i%DestB%
然后创建一个distribution.txt
文件,如:
Client 1
Client 2
运行此BAT文件将读取distribution.txt
文件,并为其中的每一行发出复制命令。如下:
COPY "\\SERVER\New Client Template Folder\Correspondence\Transmittal Letter.WPD" "\\SERVER\Client Files\Client 1\Correspondence;"
COPY "\\SERVER\New Client Template Folder\Correspondence\Transmittal Letter.WPD" "\\SERVER\Client Files\Client 2\Correspondence;"
但必须有更好的方法!!!!
通过在DOS提示符下键入FOR
,您可以获得有关help for
命令的更多帮助。
如果您不喜欢必须构建/维护distribution.txt
文件,可以使用DIR /A:D /B "\\SERVER\Client Files\*"
将目录列表删除到临时文件中,然后将其用作输入到FOR
循环。