【问题标题】:Xcopy folder selectionXcopy 文件夹选择
【发布时间】:2014-02-11 12:54:35
【问题描述】:

好的,情况如下:我想通过使用 .bat 文件来执行自动化任务,以便将一些文件从服务器复制到用户的计算机。文件的目的地可以在不同的分区上,但位置(按文件夹)是相同的。

例如我有 1 个文件要从服务器复制到 C:\Program Files\Program 或 D:\Program Files\Program (注意路径,除了分区是相同的)

【问题讨论】:

  • 批处理文件是否应该随机选择复制到哪里?是否应该根据某些标准来选择它?是否应该询问用户? ....
  • 批处理文件应该复制到指定的文件夹,但分区可能会有所不同。文件是预选的,用户不应该有任何干扰
  • 批处理文件将如何决定是复制到 C:\SOMEWHERE 还是 D:\SOMEWHERE?
  • 使用 %SystemDrive% 而不是 C:/ 或 D:/ 所以它会读取 "%SystemDrive%\Program Files\Program"
  • 是否有可能做出决定?它可以像搜索特定路径一样吗?与变量一样

标签: batch-file directory xcopy choice


【解决方案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"
  )
)

【讨论】:

  • 谢谢!这非常有效。我不知道如何交换分区
【解决方案2】:

这将复制一些文件:

copy "\\server\share\*.txt" "%ProgramFiles%\target folder\"

这将复制一个文件夹树:

xcopy "\\server\share\folder\*.*" "%ProgramFiles%\target folder\" /s/h/e/k/f/c/z

%ProgramFiles% 变量保存安装程序文件文件夹的位置。

【讨论】:

    【解决方案3】:

    你的意思是像这样从一个目录到另一个目录的基本副本吗?

    对于文件

    @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
    

    回应cmets:

    尝试 %SystemDrive%\Program Files\Program 作为您的路径。 %SystemDrive% 是系统存储文件的地方,可以是从 A:/ 到 Z:/ 的任何内容。

    【讨论】:

    • 不,我想将文件复制到相同的目标文件夹,例如:“...:\ Program Files \ Program”,其中...可以是C或D。事情是用户有这个程序安装在任一分区上,我不知道是哪个,所以 xcopy 语法必须是通用形式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-04
    • 2015-04-22
    • 1970-01-01
    相关资源
    最近更新 更多