【问题标题】:Batch files - Loop批处理文件 - 循环
【发布时间】:2014-07-05 02:37:59
【问题描述】:

我只是需要一些帮助,将我目录中的文件循环复制到多台不同的计算机。因为我平时的代码是这样的:

copy C:\file.txt \\destination\c$\destinationFolder\
copy C:\file.txt \\destination\c$\destinationFolder\
copy C:\file.txt \\destination\c$\destinationFolder\
copy C:\file.txt \\destination\c$\destinationFolder\

我真的不明白如何使它成为一个循环批处理文件。我将在 .txt 文件中有一个计算机列表,脚本将在那里调用它并复制到目标文件,因为它循环直到完成。

【问题讨论】:

    标签: loops batch-file for-loop


    【解决方案1】:

    你可以这样做。

    @ECHO OFF
    FOR %%G IN (\\destination\c$\destinationFolder\, \\destination2\c$\destinationFolder\) DO (
      ECHO %%G
      copy C:\file.txt %%G
    )
    

    没有测试复制部分,但它正在回显路径

    【讨论】:

    • 所以这就是我现在尝试的... '@echo off set comp=c:\comp.txt if exists %comp% goto label1 echo. echo 找不到 %comp% 回声。 pause goto :eof pause :label1 FOR %%G IN (%comp%) DO (ECHO %%G copy\\%comp%\c$\destinationfolder %%G)'
    【解决方案2】:

    也许这个例子对你有用。

    for %%d in (
        "\\destination1\share\destinationFolder\"
        "\\destination2\share\destinationFolder\"
        "\\destination3\share\destinationFolder\"
        "\\destination4\share\destinationFolder\"
    ) do (
        copy "c:\file.txt" "%~d"
    )
    

    【讨论】:

      【解决方案3】:

      你说你的文件列表在一个文本文件中......幸运的是 FOR 命令也可以遍历文本文件的行。

      假设您的文本文件 (computers.txt) 如下所示:

      \\destination1\c$\destinationFolder
      \\destination2\c$\destinationFolder
      ... etc.
      

      你可以像这样遍历这些行:

      FOR /f "delims=" %%Q IN (computers.txt) DO (
        COPY C:\file.txt %%Q
      )
      

      输入文件中的每一行都放入 %%Q 变量中,并为每一行执行 COPY 命令。

      【讨论】:

        猜你喜欢
        • 2022-10-21
        • 2023-03-23
        • 2023-04-08
        • 1970-01-01
        • 1970-01-01
        • 2015-05-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多