我想创建一些批处理文件来自动化程序 .
我的问题是当我创建批处理文件时,当前目录是什么?它是文件所在的目录,还是与命令提示符中显示的目录相同或其他内容?
在批处理文件中:
%cd% 指的是current working directory(变量)
%cd%
%~dp0 指的是批处理文件目录的完整路径(静态)
%~dp0
%~dpnx0 指的是批处理目录和文件名(静态)的完整路径 .
%~dpnx0
它通常是启动批处理文件的目录,但是如果从快捷方式启动批处理文件,则可以给出不同的起始目录 . 此外,当你在cmd中,并且当前目录是 c:\dir3 时,你仍然可以使用 c:\dir1\dir2\batch.bat 启动批处理文件,在这种情况下,当前目录将是 c:\dir3 .
c:\dir3
c:\dir1\dir2\batch.bat
在批处理文件中,%cd%是当前目录最常用的命令,尽管您可以设置自己的变量:
set mypath=%cd% echo %mypath% (where %mypath% is the current directory that the batch file is sitting in)
所以说你想要打开Myprog.exe . 如果它在同一个文件夹中,您将使用以下命令:
start %mypath%\Myprog.exe
这将打开当前文件夹中的Myprog .
另一种选择是在C中创建一个名为AutomatePrograms的目录 . 然后,将文件传输到该文件夹,然后可以使用以下命令打开它们:
start "" "C:\AutomatePrograms\Myprog1.exe" start "" "C:\AutomatePrograms\Myprog2.exe" start "" "C:\AutomatePrograms\Myprog3.exe"
它是您启动批处理文件的目录 . 例如 . 如果你的批处理是 c:\dir1\dir2 而你做 cd c:\dir3 ,那么运行批处理,当前目录将是 c:\dir3 .
c:\dir1\dir2
cd c:\dir3
它是运行命令以执行批处理文件的目录 .
如上面的答案所述,您可以将以下命令添加到脚本中以验证:
> set current_dir=%cd% > echo %current_dir%
假设您在当前目录中打开一个文件 . 命令是:
start %cd%\filename.filetype
我希望我回答你的问题 .
6 回答
在批处理文件中:
%cd%
指的是current working directory(变量)%~dp0
指的是批处理文件目录的完整路径(静态)%~dpnx0
指的是批处理目录和文件名(静态)的完整路径 .它通常是启动批处理文件的目录,但是如果从快捷方式启动批处理文件,则可以给出不同的起始目录 . 此外,当你在cmd中,并且当前目录是
c:\dir3
时,你仍然可以使用c:\dir1\dir2\batch.bat
启动批处理文件,在这种情况下,当前目录将是c:\dir3
.在批处理文件中,%cd%是当前目录最常用的命令,尽管您可以设置自己的变量:
所以说你想要打开Myprog.exe . 如果它在同一个文件夹中,您将使用以下命令:
这将打开当前文件夹中的Myprog .
另一种选择是在C中创建一个名为AutomatePrograms的目录 . 然后,将文件传输到该文件夹,然后可以使用以下命令打开它们:
它是您启动批处理文件的目录 . 例如 . 如果你的批处理是
c:\dir1\dir2
而你做cd c:\dir3
,那么运行批处理,当前目录将是c:\dir3
.它是运行命令以执行批处理文件的目录 .
如上面的答案所述,您可以将以下命令添加到脚本中以验证:
假设您在当前目录中打开一个文件 . 命令是:
我希望我回答你的问题 .