我正在玩并执行以下.bat
@echo off
mkdir %~dp0
pause
这在批处理位置创建了两个目录:
注意:我从“123”目录
执行批处理我想要一些背景来了解刚刚发生的事情
答案 0 :(得分:3)
mkdir
命令使命令行上指定的所有目录(以空格分隔)。例如,
mkdir foo bar
将创建目录foo
和 bar
。在您的情况下,参数为C:\Documents and Settings\Usuario\Escritorio\123
,相当于:
mkdir C:\Documents and Settings\Usuario\Escritorio\123
由于mkdir
不知道任何不同,因此它认为您要创建名为的三个目录:
C:\Documents
and
Settings\Usuario\Escritorio\123
您可以尝试:
mkdir "%~dp0"
并查看双引号是否有帮助。
答案 1 :(得分:1)
由于您在C:\ Documments and Settings ...中执行了它,但尚未对其进行转义,因此它会根据空格拆分路径:
C:\Documents and Settings\...
分为"C:\Documents"
,"and"
,"Settings\..."
如果你使用""
即"%~dp0"
来逃避它,那将会有效:它将扩展为"C:\Documments and Settings\..."
,不会被拆分