【问题标题】:setting variables with batch批量设置变量
【发布时间】:2011-02-28 16:37:12
【问题描述】:

您好,我正在尝试将信息从一个文件批量附加到另一个文件,但没有成功

这是代码

@echo off
set backup=C:\"VTS\Advanced Tools\Advanced Offset\PEN\LOCATION ACAD LSP.PEN"
copy C:\"VTS\Advanced Tools\Advanced Offset\AP\LOADING SQUENCE.AP" %backup%

问题在于备份实际上不是 C:\"VTS\Advanced Tools\Advanced Offset\PEN\LOCATION ACAD LSP.PEN" 而是存储在其中的实际其他位置。

基本上我想将文件 C:\"VTS\Advanced Tools\Advanced Offset\PEN\LOCATION ACAD LSP.PEN" 的内容设置为我的备份变量

【问题讨论】:

    标签: variables batch-file


    【解决方案1】:

    使用下面的命令行。 set /p V=<FILE 会将变量 V 的值设置为 FILE 的内容。

    set /p backup=<C:\"VTS\Advanced Tools\Advanced Offset\PEN\LOCATION ACAD LSP.PEN"
    copy C:\"VTS\Advanced Tools\Advanced Offset\AP\LOADING SQUENCE.AP" %backup%
    

    【讨论】:

    • 这对我没有任何帮助
    • 我的错,我错过了 /p 参数。现已修复。
    • 在我的 .pen 文件中是另一个计算机位置,这会导致我的问题吗?
    • 您可以使用echo %backup 来检查变量是否设置正确。
    • 如果你的 .pen 文件中的内容在共享文件夹中(指向另一台机器),我认为可以。
    【解决方案2】:

    试试看

    @echo off
    setlocal enabledelayedexpansion
    for /f %%a in ("C:\VTS\Advanced Tools\Advanced Offset\PEN\LOCATION ACAD LSP.PEN") do (
      set backup=%%a
      echo copy "C:\VTS\Advanced Tools\Advanced Offset\AP\LOADING SQUENCE.AP" "!backup!"
      goto :eof
    )
    

    并在测试后删除echo

    【讨论】:

    • 这种方法可能不需要使用backup 变量(因此不需要延迟扩展)。无论如何,OP 似乎还有另一个问题,存储路径实际上是另一台计算机上的路径(请参阅 Wen Q 的回答的评论线程)。
    猜你喜欢
    • 1970-01-01
    • 2020-03-31
    • 2011-03-01
    • 2014-09-06
    • 2018-11-18
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多