【问题标题】:How do I get formatted value of environment variable如何获取环境变量的格式化值
【发布时间】:2013-07-14 18:24:58
【问题描述】:

在我的网络应用程序中,我想允许管理员执行系统命令,例如:

        Process proc = Runtime
            .getRuntime()
            .exec("cmd.exe /C dir C:\\\"Program Files (x86)\"\\jboss-as-7.1.1.Final_JAX-RS_BookStore\\"+subDir);

我现在通过以下方式检索 JBoss 主目录:

String SERVER_HOME = System.getenv("JBOSS_HOME");

不幸的是,这会返回C:\Program Files (x86)\jboss-as-7.1.1.Final_JAX-RS_BookStore 而不是:C:\\\"Program Files (x86)\"\\jboss-as-7.1.1.Final_JAX-RS_BookStore\\,因此.exec(...) 命令将不再起作用。

如何正确格式化此文件路径?

【问题讨论】:

  • 阅读(并实施)所有 When Runtime.exec() won't 的建议。然后忽略它引用exec 并使用ProcessBuilder 构建Process。还要将String arg 分解为String[] args 以说明本身包含空格的参数。

标签: java environment-variables string-formatting file-location command-execution


【解决方案1】:

我相信以下应该可行:

String SERVER_HOME = "\"" + System.getenv("JBOSS_HOME") + "\"";

双引号允许路径中的空格。

【讨论】:

  • 哦...谢谢,它有效!我想,我也需要Program Files (x86) 之前和之后的引号。非常感谢!
猜你喜欢
  • 2011-06-21
  • 2020-06-10
  • 2019-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-23
  • 1970-01-01
相关资源
最近更新 更多