gpt4 book ai didi

windows - DOS 批处理文件和变量扩展

转载 作者:可可西里 更新时间:2023-11-01 11:59:14 25 4
gpt4 key购买 nike

我需要编写一个 DOS 批处理文件,它在概念上执行此操作:

SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET TARGET=c:\Temp\directory name with spaces\
FOR %%C IN (A B C D ) DO (
copy "Setups\%%C\Release\%%C%Setup.msi" "%%TARGET%\%%C"
echo Similar commands ...
)

例如,

Setups\A\Release\ASetup.msi would be copied to c:\temp\directory name with spaces\A\ASetup.msi

我遇到的问题是命令处理器以非常反直觉的方式对此进行解析,并且不会产生预期的(甚至有用的)结果。这在单个命令文件中可能吗?

(我可以用一个辅助批处理文件来做——但这看起来不够优雅)

最佳答案

调用复制 "Setups\%%C\Release\%%CSetup.msi""%TARGET%\%%CSetup.msi"

  1. 您在 %%C%Setup.msi

  2. 中有一个杂散的百分号
  3. 然后 %%TARGET% 中的双倍百分比 - 您只需要一个。

  4. 目标文件名末尾缺少 Setup.msi。

注意:出于习惯,我也使用了 call,尽管在此示例中您并不严格需要它。

关于windows - DOS 批处理文件和变量扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12047177/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com