我希望能够将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"
答案 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
中放置任何内容。
<强>更新强>
我自己没有尝试过,但看起来你可以设置并忘掉它。
DOSKEY
开始cmd.exe
答案 1 :(得分:1)
我认为您遇到的问题是命令行被评估为新用户 - 因此,除非新用户也可以访问您的别名,否则它将无效。
编辑:您可以通过创建一个方便放置的批处理文件(或快捷方式?)来解决这个问题,该文件会启动BIDS和RunAs'ing吗?
修改强>
样本用法:
@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