2019-5-25-如何在-CMD-启动的软件传入带空格的路径

title author date CreateTime categories
如何在 CMD 启动的软件传入带空格的路径
lindexi
2019-05-25 09:31:46 +0800
2019-05-25 09:14:15 +0800

在使用 CMD 命令的时候,会将传入的命令按照空格分为多个不同的命令,但是路径经常是带有空格的。特别是想将参数传入到通过命令行启动的软件里面,可以如何做?

假如通过 CMD 命令启动我的一个放在 C:lindexi 是逗比 的 Foo.exe 程序,那么可以通过下面代码启动

cmd.exe "C:lindexi  是逗比Foo.exe"

因为路径里面的 C:lindexi 是逗比Foo.exe 有空格,需要通过引号包含

如果我需要给 Foo.exe 传入参数,参数内容是 foo 那么需要通过 /K/C 的命令将参数传入,在 /K/C 后面的参数将会传入到执行的程序,而不是作为 CMD 的参数

通过 /k 可以在执行之后不退出 cmd 程序,通过 /C 可以在执行完程序之后就退出 cmd 程序

例如我需要将 C:林德熙 是逗比 作为参数传入到 Foo.exe 那么下面代码执行的时候,因为传入 CMD 命令的路径带来空格,需要通过引号包含

但是在 CMD 里面传入多个带引号的路径会被作为多个传入 CMD 的启动参数,刚好参数路径不是可以执行的文件

C:userlindexi> cmd /k "C:lindexi  是逗比Foo.exe" "C:林德熙 是逗比"
文件名、目录名或卷标语法不正确

在传入的参数里面存在空格,需要使用最外层的一个引号包含

cmd /k " xx.exe xx参数 "

通过这个方法可以解决 cmd 不认路径带空格,和不认使用引号包含的路径

cmd /k " "C:lindexi  是逗比Foo.exe" "C:林德熙 是逗比" "

cmd.exe 的命令行启动参数(可用于执行命令、传参或进行环境配置) - walterlv

原文地址:https://www.cnblogs.com/lindexi/p/12085722.html