windows qt如何通过命令行参数提取带有空格的文件名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows qt如何通过命令行参数提取带有空格的文件名相关的知识,希望对你有一定的参考价值。

参考技术A 主要是我一直都是在Creator中编译运行发布,并没有采用过命令行的方式处理。所以对如何解决也不是很明白。
为什么不用Creator呢?
另外:对有些不好好回答的人表示轻视...

如何阻止我的命令行参数在 Maven 插件中被转义?

【中文标题】如何阻止我的命令行参数在 Maven 插件中被转义?【英文标题】:How do I stop my command-line arguments being escaped in a maven plugin? 【发布时间】:2010-11-18 06:54:46 【问题描述】:

我有一个插件,它使用 Plexus 命令行来调用一些外部进程并捕获输出。其中一个参数是带有空格和引号的有趣格式,例如--范围:“2008 年 8 月 25 日”-“2009 年 8 月 4 日”。我无法更改参数的所需格式,但 Plexus 检测到参数中的空格并将整个内容用引号括起来。

所以

call --range:"25 Aug 2008"-"04 Aug 2009"

变成

call "--range:"25 Aug 2008"-"04 Aug 2009""

调用失败。

我可以让 plexus 停止转义参数吗?

【问题讨论】:

【参考方案1】:

Commandline 对象使用 Shell 与本地环境交互,您可以配置 Shell 以覆盖默认转义过程以不转义任何引号:

Commandline cl = new Commandline("call");
commandline.getShell().setQuotedArgumentsEnabled(false);

请注意,这意味着没有个参数将被引用,因此请谨慎使用!

【讨论】:

以上是关于windows qt如何通过命令行参数提取带有空格的文件名的主要内容,如果未能解决你的问题,请参考以下文章

如何通过具有命令行参数的 procdump 启动 Windows 应用程序?

如何使用带有路径的“开始”和带有空格的命令在 Windows 中创建批处理文件

如何在 Windows 7 中重命名文件夹:名称中包含空格的命令行 [关闭]

如何让 perl 正确传递具有多个参数和复杂文件路径(空格和符号)的命令行参数?

如何阻止我的命令行参数在 Maven 插件中被转义?

将 QT 程序作为窗口和命令行运行