【问题标题】:batch file with relative path and close command prompt具有相对路径和关闭命令提示符的批处理文件
【发布时间】:2017-07-02 08:17:25
【问题描述】:

我试试这个代码:

start /d "D:\test\CONTOH\DATA\QGIS2\bin\" qgis.bat

基于: Bat file to run a .exe at the command prompt

但是,我想成为相对路径,像这样:

start /d %~dp0\DATA\QGIS2\bin\qgis.bat

基于: relative path in BAT script

但是,什么也没发生。那么,谁能给我信息,有什么问题吗?

【问题讨论】:

  • 如果你比较你的命令,你可以看到你的第一个命令在start之后有三个参数,但你的第二个命令只有两个
  • start 将双引号中的第一个参数作为窗口标题。插入一个空的虚拟对来避免这种情况。

标签: batch-file


【解决方案1】:

打开命令提示符窗口并运行start /?。这会输出命令 START 的帮助,应该阅读该命令以了解其选项。

在命令提示符窗口call /? 中运行并阅读输出帮助页面以了解%~dp0。批处理文件的驱动器和路径(参数 0)始终以反斜杠结尾。因此,不要在将它与另一个字符串连接时添加额外的反斜杠。

第一个双引号字符串被START解释为新窗口标题栏中显示的新控制台窗口的标题。因此,最好始终指定一个标题字符串,它也可以是一个空字符串,例如 "",以防启动一个根本没有打开控制台窗口的 GUI 应用程序。

start "Running QGIS2" /D "%~dp0DATA\QGIS2\bin" qgis.bat

也可以在批处理文件中使用这个命令行:

start "Running QGIS2" /D"%~dp0DATA\QGIS2\bin" qgis.bat

这里从目录开始 定义为/D"%~dp0DATA\QGIS2\bin" 100% 正确,根据命令START 的帮助指定为一个参数字符串。

但是 Windows 命令解释器也接受第一个变体,只有选项 /D 没有任何文件夹路径,下一个参数字符串 "%~dp0DATA\QGIS2\bin" 在分隔空格之后是 在目录中开始的文件夹路径。

/D"%~dp0DATA\QGIS2\bin" 只是一个参数字符串的第二个变体相比,第一个变体只有/D 作为一个参数字符串,"%~dp0DATA\QGIS2\bin" 作为另一个参数字符串更容易阅读。

【讨论】:

    猜你喜欢
    • 2016-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-05
    • 1970-01-01
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多