【问题标题】:How do I escape spaces on the Windows command line?如何在 Windows 命令行上转义空格?
【发布时间】:2013-09-22 03:47:24
【问题描述】:

我正在尝试从 Windows cmd 启动支持 SD 卡的 Android 模拟器。

我试过了:

emulator -sdcard C:/Documents and Settings/User/sdcard.img -avd avd_tablet

它不起作用:无效的命令行参数:和

emulator -sdcard C:/Documents^ and^ Settings/User/sdcard.img -avd avd_tablet

它不适用于“^”:无效的命令行参数:和^

emulator -sdcard "C:/Documents and Settings/User/sdcard.img" -avd avd_tablet

它不适用于引号:无效的命令行参数:和

emulator -sdcard C:/Documents\ and\ Settings/User/sdcard.img -avd avd_tablet

它不适用于反斜杠转义:无效的命令行参数:和

emulator -sdcard C:/"Documents and Settings"/User/sdcard.img -avd avd_tablet

它不适用于部分反斜杠转义:无效的命令行参数:和

有什么建议吗?

【问题讨论】:

    标签: windows android-emulator cmd


    【解决方案1】:

    正如Google 所述,您必须指定SD 卡映像的相对路径

    如果您的 SDK 安装在 C:\Documents and Settings\User\Android SDK,请以这种方式启动模拟器:

    emulator -sdcard "..\..\..\sdcard.img" -avd avd_tablet
    

    【讨论】:

      【解决方案2】:
      emulator -sdcard "C:\Documents and Settings\User\sdcard.img" -avd avd_tablet
      

      应该可以。如果没有,那么您正在使用的程序已损坏,您可能需要查找如何将带有空格的路径传递给它。 Windows 命令行(与 Unix shell 不同)不对命令进行参数解析;程序只是得到一个带有完整命令行的字符串,并且必须自己解决问题。

      【讨论】:

      • 如果程序出错,C:\DOCUME~1\… 之类的东西可能会起作用。
      • 我不知道是不是拼写错误,但@Salvatore 使用的是斜杠 / 而不是反斜杠 \
      • 应该没关系。 Windows API 透明地将斜杠转换为路径的反斜杠。唯一重要的地方是cmd的内置命令,它使用/作为选项,有时在给定斜线路径时会感到困惑。
      • @Joey:我认为你是对的。 Android 模拟器“-sdcard”参数不接受空格。我想我必须使用相对路径或“DOCUME~1”表示法。谢谢大家。
      • 技术上 Mikael 就在这里,因为文档明确指出 “可选地,您可以指定相对于当前工作目录的路径。”,因此不支持绝对路径全部。
      猜你喜欢
      • 2012-02-25
      • 1970-01-01
      • 2011-07-02
      • 1970-01-01
      • 1970-01-01
      • 2012-04-19
      • 2015-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多