别名用于runas的DOS命令

时间:2010-08-13 18:31:40

标签: alias dos

我希望能够将dos命令别名与runas命令一起使用

具体而言,我已经厌倦了获得BIDS的完整路径("C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe"),我想像MS为ssms所做的别名。

任何人都知道如何做到这一点?我知道我可以使用批处理文件完成此操作,但我真的不愿意。

runas /user:user /netonly bids

VS

runas /user:user /netonly "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe"

3 个答案:

答案 0 :(得分:2)

这种doskey技术在SuperUser上展示,请参阅https://superuser.com/questions/49170/create-an-alias-in-windows-xp

问题在于您无法定义runas使用的别名。您可以定义一个别名,其中包含您要运行的runas 命令,但这不会重复使用。但是这样做:

SET BIDS=C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe
DOSKEY r=runas /user:user /netonly "%$1%"

然后您可以使用

r bids

当然,这需要您为您希望拥有的每个快捷方式设置环境变量,但我认为这不是设置doskey别名本身的要求。在任何情况下,它都不会创建文件,也不需要在path中放置任何内容。

<强>更新

我自己没有尝试过,但看起来你可以设置并忘掉它。

  • 可以通过Windows的系统设置(参见图像)
  • 设置环境变量
  • 每次DOSKEY开始cmd.exe
  • 时,都可以设置{{1}}别名

enter image description here

答案 1 :(得分:1)

我认为您遇到的问题是命令行被评估为新用户 - 因此,除非新用户也可以访问您的别名,否则它将无效。

编辑:您可以通过创建一个方便放置的批处理文件(或快捷方式?)来解决这个问题,该文件会启动BIDS和RunAs'ing吗?

修改

有关选择命令的信息,请参阅herehere

样本用法:

@ECHO OFF
Echo 1. Some Command
Echo 2. Some Other Command
CHOICE /C:12 /N /T:1,10 Choose an option
IF ERRORLEVEL 2 GOTO COMMAND2
IF ERRORLEVEL 1 GOTO COMMAND1
GOTO END

:COMMAND1
Runas /Uer:Blah "BLAH" > NUL
GOTO END

:COMMAND2
Runas /Uer:Blah "BLAH" > NUL
GOTO END

:END

答案 2 :(得分:1)

这是一个在命令shell上设置别名的脚本。这个脚本为您提供难以捉摸的“WHERE”命令:

@ECHO OFF 
ECHO Loading additional commands from:
ECHO    %0
ECHO Type 'DOSKEY /MACROS:ALL' to see the configured commands.
:: to install, place this .bat script in the location you want 
:: it to reside and then run this batch script with the argument "register"
IF "%1"=="register" (
  REG.exe ADD "HKCU\Software\Microsoft\Command Processor\Autorun" /ve /t REG_SZ /d "%0" /f
  ECHO The DOS profile is registered.  Load a new command prompt and test a command.
)
@DOSKEY LS=DIR /w 
@DOSKEY CP=COPY $* 
@DOSKEY MV=MOVE $* 
@DOSKEY H=DOSKEY /HISTORY
@DOSKEY WHERE=@for %%e in (%PATHEXT%) do @for %%i in ($*%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i