0

我正在尝试通过其默认程序通过命令行打开一个可能包含空格的文件。我在这里阅读了几个答案,不幸的是并没有帮助我解决问题。

简而言之,这将起作用

C:\>"C:\Program Files\Envelope Manager\Dazzling\Dazzling.exe" C:\Users\Public\Documents\Endic\Dazzling\_thelayout.LYT

但是在文件名周围添加引号不会有任何好处

C:\>"C:\Program Files\Envelope Manager\Dazzling\Dazzling.exe" "C:\Users\Public\Documents\Endic\Dazzling\thelayout.LYT"

理想情况下,我希望这个工作(包括空格)

C:\>"C:\Program Files\Envelope Manager\Dazzling\Dazzling.exe" "C:\Users\Public\Documents\Endic\Dazzling\the new layout.LYT"

我想要的只是打开文件,该文件有时包含一个带有 Dazzling.exe 的空格,假设两个路径都可能包含空格。

我看到了一个引用此页面的上一篇文章的答案:http: //ss64.com/nt/start.html

这没有用

4

3 回答 3

0

如果 Dazzling 是 .LYT 文件的注册应用程序,则只需使用启动命令:

start "" "C:\Users\Public\Documents\Endic\Dazzling\thelayout.LYT"
于 2013-05-30T06:48:38.143 回答
0

对我来说,这适用于 Windows 7:

explorer.exe "\some\path\x x.txt"

使用记事本打开x x.txt- 例如使用默认关联。

于 2013-05-30T06:04:57.667 回答
0

试试这个 - 它使用短路径名。由于函数中的错误,它可能会失败。

@echo off
set "file=C:\Users\Public\Documents\Endic\Dazzling\_thelayout.LYT"
for %%a in ("%file%") do (
"C:\Program Files\Envelope Manager\Dazzling\Dazzling.exe" %%~sfa
)

这可以通过将文件拖放到批处理文件中来实现。

@echo off
set "file=%~1"
for %%a in ("%file%") do (
"C:\Program Files\Envelope Manager\Dazzling\Dazzling.exe" %%~sfa
)
于 2013-05-30T15:41:31.037 回答