gpt4 book ai didi

batch-file - 如何在批处理文件中将环境变量设置为带有空格的值?

转载 作者:行者123 更新时间:2023-12-04 14:36:42 25 4
gpt4 key购买 nike

我不知道如何准确描述我正在尝试做的事情,但这里有一个示例批处理文件,它演示了我无法弄清楚的内容。:

我有一个批处理文件。在那个批处理文件中,我试图创建一个目录:

Set CopyFrom = %~dp0

if Exist "%ProgramFiles(x86)" (
Set TargetDir = %ProgramFiles(x86)%\My Directory Name has spaces
)

md %TargetDir%\NewSubFolder
copy %CopyFrom%\SourceFile.zip %TargetDir%\NewSubFolder

我的批处理文件在第 4 行失败 Set TargetDir =...和:
\My was unexpected at this time

我假设这是因为我的路径名中有空格。我以为我可以用引号包裹我的变量:
Set TargetDir = "%ProgramFiles(x86)%\My Directory Name has spaces"

但是当我到达创建目录的那一行时,它失败了,因为 %TargetDir%现在用引号括起来。 md "%TargetDir%"\NewSubFolder
这可以修复还是我应该只编写一个 VBScript 来解决问题?

最佳答案

只需将您的表达式放在这样的引号中:

C:\>Set "TargetDir=%ProgramFiles%\My Directory Name has spaces"
C:\>echo %TargetDir%
C:\Program Files\My Directory Name has spaces

注意:它会扩展引号内的变量,如果它也有空格,则需要用引号引起来。

现在您可以引用它来执行您的操作:
md "%TargetDir%\NewSubFolder"

关于batch-file - 如何在批处理文件中将环境变量设置为带有空格的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1694437/

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