【发布时间】:2021-02-04 00:22:09
【问题描述】:
我需要帮助批量设置目录,然后在该目录中添加其他文件夹,但我尝试的任何代码都不起作用。在这种情况下,该文件名为“a.bat”,它需要创建一个名为“a”的目录。然后它需要在“a”目录中创建“1”、“2”和“3”(1、2和3是文件夹)。这是我的代码。每当我运行它时,它只会在我运行 a.bat 的目录中创建 4 个不同的目录。
@echo off
MD a
Set adir = C:\a
cd %adir%
MD 1
MD 2
MD 3
如果有人知道我做错了什么,如果您能提供帮助,我将不胜感激。谢谢!
【问题讨论】:
-
Batch 对
SET语句中的空格敏感。SET FLAG = N将名为“FLAGSpace”的变量设置为值“SpaceN”语法SET "var=value"(其中值可能为空;在这种情况下@987654325 @ 变为 undefined) 用于确保分配的值中不包含任何杂散的尾随空格。在这种情况下,adir不是set,正在设置“adirSpace”,因此adir没有值,cd %adir%变为cd。 -
还是不行。我不确定为什么,可能是因为我使用的是 MD 而不是其他东西。
-
a将在当前目录中创建。您需要在set命令中删除=周围的空格才能正确设置adir。优先使用set "adir=C:\a"。现在这专门将c:\a设置为adir,因此cd %adir%将从当前目录切换目录C:\a,而不是子目录a。为此,您需要set "adir=%cd%\a"-%cd%是一个被解析为 C当前D目录的魔术变量。
标签: windows batch-file executable