Windows脚本 - 创建脚本以复制文件并粘贴到新的网络位置

时间:2016-08-25 15:34:08

标签: windows batch-file

我想创建一个基本上每天运行的脚本,该脚本从一个网络位置复制文件并粘贴到另一个网络位置。

有人可以提出建议吗?

感谢。

2 个答案:

答案 0 :(得分:0)

您可以使用从Windows Batch每晚调用的Task Scheduler文件。 Copy命令是我最常用的命令。

SET oldLocation=\\OldServer\C$\test.txt
SET newLocation=\\NewServer\C$\test.txt
copy %newLocation% %oldLocation%

您可以安排任务并将批处理文件放在同一台服务器上。只要设置为运行批处理的用户在两台服务器上都具有适当的权限,任一服务器都可以运行该命令。

答案 1 :(得分:0)

尝试这样的事情:

@echo off

echo %date% %time% >> batch.log
echo START ----- >> batch.log

net use x: /delete /Y >> batch.log
net use x: \\<server>\<share> <password> /user:<domain>\<name> /persistant:yes >> batch.log
net use z: /delete /Y >> batch.log
net use z: \\<server>\<share> <password> /user:<domain>\<name> /persistant:yes >> batch.log

xcopy x:\<filename> z:\<filename> >> batch.log

exit

我建议您在复制到网络位置或从网络位置复制时使用xcopy。这有助于确保仍在复制正在使用的文件,从而避免与此类行为相关的错误。

同时添加日期/时间/开始的回声以及&gt;&gt; batch.log创建一个日志文件,您可以通过它来搜索错误并知道它们何时发生。

我在设置网络位置之前每次都添加“net use / delete / Y”。根据我的经验,这有助于避免错误处理同一用户使用的太多资源。此外,它只是一种更清洁的方式。

Eric S建议使用任务计划程序是一个很好的建议。请确保将其设置为:

  • 使用管理员级帐户运行的首选项 - 即最高 特权。
  • 无论用户是否登录,都要运行。
  • 如果它的运行时间超过规定的时间,也将其设置为终止。

希望这会有所帮助。