在一些自动化测试中,我在给予可执行文件的每个命令周围加上双引号,例如
notepad "hello.txt"
这可以正常工作。此外,如果我尝试与其他可执行文件相同,这似乎总是有效。但是,以下内容在Windows 7上不起作用:
cmd.exe "/c" "echo hello"
问题不在于“echo hello”的引号,但它似乎不喜欢/ c选项周围的引号。我得到的是以下输出:
'"echo hello' is not recognized as an internal or external command, operable program or batch file.
Windows对cmd.exe的处理方式有何不同?
答案 0 :(得分:1)
“hello.txt”是一个文件名,通常只引用文件名/路径(以及可能包含空格的其他参数)
是的,cmd.exe可能有一些特殊处理,你可以使用/ S来改变报价处理。
恕我直言“/ c”是不好的做法,看起来你想在当前驱动器的根目录下执行c.exe