好的,所以情况如下:我想通过使用.bat文件进行自动化任务,以便将一些文件从服务器复制到用户的计算机。文件的目的地可以在不同的分区上,但位置(文件夹)是相同的。
例如我有1个文件要从服务器复制到C:\ Program Files \ Program或D:\ Program Files \ Program(注意路径,除了分区是相同的)
答案 0 :(得分:1)
如果您从具有管理员权限的服务器运行它,那么这样的事情应该有效。
@echo off
setlocal
for %%a in (computer1 computer2 computer3) do (
for %%b in (c d) do (
if exist "\\%%a\%%b$\Program Files\Program\." (
xcopy /F /I "yourfile.ext" "\\%%a\%%b$\Program Files\Program"
)
)
)
如果您从工作站运行它,您可以执行以下操作:
@echo off
setlocal
for %%a in (c d) do (
if exist "%%a:\Program Files\Program\." (
xcopy /F /I "\\Server\Share\yourfile.ext" "%%a:\Program Files\Program"
)
)
答案 1 :(得分:1)
这将复制几个文件:
copy "\\server\share\*.txt" "%ProgramFiles%\target folder\"
这将复制文件夹树:
xcopy "\\server\share\folder\*.*" "%ProgramFiles%\target folder\" /s/h/e/k/f/c/z
%ProgramFiles%
变量保存安装程序文件文件夹的位置。
答案 2 :(得分:0)
你的意思是从一个dir到另一个dir的基本副本。
对于文件
@echo off
echo copying files
copy /Y C:\Program Files\Program\TheFileYouWantToCopy.file D:\Program Files\Program\TheFileYouWantToCopy.file
echo copying files done.
pause
goto :eof
将“TheFileYouWantToCopy.file”替换为您要复制的文件。
对于目录
如果你想将一个目录从一个地方复制到另一个地方,请使用:
@Echo Off
Echo Please Press "d"
xcopy "C:\Program Files\Program" "D:\Program Files\Program"
Echo done
pause
goto :eof
回应评论:
尝试使用%SystemDrive%\ Program Files \ Program作为路径。 %SystemDrive%就是系统存储文件的位置,可以是A:/到Z的任何内容:/。