代码之家  ›  专栏  ›  技术社区  ›  Precipitous

为runas/netonly和vsvarsall.bat创建快捷方式。引用规则是什么?

  •  0
  • Precipitous  · 技术社区  · 14 年前

    我正在尝试创建一个快捷方式,该快捷方式将在runas命令下加载vcvarsall.bat(Visual Studio命令提示符)。具体来说,我需要一个从特定文件夹开始的快捷方式;将runas网络凭据设置为域帐户;mains本地帐户关联;并正确设置msbuild环境变量。

    背景:我们有团队城市建设代理不在域中。有时,我需要排除故障。这意味着在团队城市本地帐户下运行生成,使用域帐户从源获取。我在家工作时也有同样的情况-我的家庭计算机不在域中。

    我可以使用runas.exe来获得正确的凭据,但我没有获得msbuild环境变量。

    %SystemRoot%\system32\runas.exe /netonly /user:domain\teamcityagent "%comspec% /k 
    

    %comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" x86
    

    我怎样才能把这两者结合成一条捷径呢?这里的命令引用规则是什么?你能用快捷方式连接命令吗?如果不使用批处理文件,这样做会很酷,但是如果我不得不依赖批处理文件,我会这么做的。

    1 回复  |  直到 14 年前
        1
  •  2
  •   Jeff Mercado    14 年前

    您可以使用 && . 只有前一个命令成功(即,错误级别0)才能执行后续命令。如果要强制执行所有命令,只需使用一个 & .

    e、 打印“foo”和“bar”,然后暂停

    %comspec% /c echo foo && echo bar && pause
    

    但是在你的情况下,当使用 runas ,则需要将整个命令和命令参数用双引号括起来。参数中的任何双引号都需要用反斜杠转义。其他反斜杠应正确解释,无需转义。要以加载了打印问候语的变量的其他用户身份运行,可以执行以下操作:

    %SystemRoot%\system32\runas.exe /netonly /user:domain\teamcityagent "%comspec% /k \"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat\" x86 && echo Hello %USERDOMAIN%\%USERNAME%"