我打得周围并执行以下.bat
为什么这个批处理脚本创建看似随机的目录?
@echo off
mkdir %~dp0
pause
这创造了在该批次的位置两个目录:
- “和”
- “设置”(这里面: “Usuario” inisde这个 “Escritorio”,inisde这个 “123”)
注:我从“123”目录
执行批处理我想一些背景了解到底发生了什么
我打得周围并执行以下.bat
为什么这个批处理脚本创建看似随机的目录?
@echo off
mkdir %~dp0
pause
这创造了在该批次的位置两个目录:
注:我从“123”目录
执行批处理我想一些背景了解到底发生了什么
的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。用鼠标点击“提交”按钮来打我(并且你的回答比我的要好)。 :) – 2012-03-29 00:41:36
谢谢!我真的很讨厌随机存储在我的电脑上的东西(我从来没有想过它还创建了'C:\ Documents',现在我删除了它) – ajax333221 2012-03-29 00:41:49
最后,我创建了var'set cur =“%〜 dp0“',我正在使用像这样'mkdir%cur%bananas',是否有C:\ path \”bananas'而不是'C:\ path \ bananas'''? – ajax333221 2012-03-29 00:52:45
既然你用C执行它:\ Documments和设置...,但也没能逃脱它,它是基于空格分割的路径:
C:\Documents and Settings\...
会分成"C:\Documents"
,"and"
,"Settings\..."
如果用""
即"%~dp0"
应该工作逃避它:它会扩大到"C:\Documments and Settings\..."
将不会被分拆
又是什么'回声%〜dp0'告诉你? – 2012-03-29 00:37:23
@GregHewgill'“C:\ Documments and Settings \ Usuario \ Escritorio \ 123 \”'只是用于记录,“Escritorio”表示西班牙语桌面 – ajax333221 2012-03-29 00:38:17