我是cmd的新手。我创建了一个文件来创建文件夹和子文件夹。我放了一些timeout
。第一个timeout
正在工作,但其他时间不起作用,不知道为什么。是因为改变了path
。我已经在CMD中逐行检查了。在CMD中它工作正常。
输入:
timeout /t 5
@echo off
set path=C:\Users\bruce\Documents\Project-Gallary
cd %path%
@echo "Welcome master Bruce !"
@echo "Recommended Project Folder Name: G01-Global-Report/C01-Compliance"
echo %PATH%
timeout /t 10
@echo " *** Try not the put space in Folder Name"
set /p ProjectName="What is the project name? "
输出:
C:\Users\bruce\Desktop>timeout /t 5
Waiting for 0 seconds, press a key to continue ...
"Recommended Project Folder Name: G01-Global-Report/C01-Compliance"
C:\Users\bruce\Documents\Project-Gallary
'timeout' is not recognized as an internal or external command,
operable program or batch file.
" *** Try not the put space in Folder Name"
What is the project name?
答案 0 :(得分:4)
重大错误,您正在更改系统变量PATH
系统变量路径列出了可执行文件的所有路径,您通过设置set path=C:\Users\bruce\Documents\Project-Gallary
更改了它,现在又找不到其他cmd了。
请尝试使用此版本,首先关闭所有cmd.exe
窗口,以清除所有set
个命令。
@echo off
set "mypath=C:\Users\bruce\Documents\Project-Gallary"
cd %mypath%
@echo "Welcome master Bruce !"
@echo "Recommended Project Folder Name: G01-Global-Report/C01-Compliance"
echo %PATH%
timeout /t 10
@echo " *** Try not the put space in Folder Name"
set /p ProjectName="What is the project name? "
修改的
基于@ npocmaka的评论。如果您确实想要添加系统路径变量的路径,那么只需将set path
行替换为:
set "PATH=%PATH%;C:\Users\bruce\Documents\Project-Gallary"
答案 1 :(得分:1)
您的问题的答案是肯定的,因为您已更改path
。
环境变量%Path%
包含在“无路径”的情况下搜索的位置。可执行文件不在当前工作目录中。
系统还包含另一个名为%PATHEXT%
的变量,其中包含一个可执行文件扩展名列表,后缀为文件名(以列出的顺序排列),如果文件没有调用扩展名但未找到。
如果要查看这两个变量的值,请打开命令提示符并输入Set Path
。
当您的脚本进入第二个Timeout
命令时,它会在当前工作目录中搜索名为Timeout
的任何文件以及%PATHEXT%
中列出的任何扩展名。如果找不到,它会同样搜索%Path%
中的每个位置,在您的情况下为C:\Users\bruce\Documents\Project-Gallary
; (由于未找到timeout
,您收到了错误消息)
Timeout
命令实际上是timeout.exe
,它应位于\Windows\System32
中。如果您没有更改%Path%
变量的位置,(以系统驱动器号开头),则在%Path%
环境变量的值中定义,并找到相应的可执行文件
因此,除非绝对必要,否则您的解决方案应避免设置名为%Path%
或%PATHEXT%
的变量,例如: Set "lPath=C:\Users\bruce\Documents\Project-Gallary"
。您也可以忽略该建议并使用带扩展名的绝对路径,例如C:\Windows\System32\timeout.exe /t 10
。最后,如果脚本需要,您可以将位置(或扩展名)集成到那些现有的分号分隔变量列表中,例如: Set "Path=%Path%;C:\Users\bruce\Documents\Project-Gallary"
。