2010-08-13 39 views
5

Tôi muốn để có thể bí danh một lệnh dos để sử dụng kết hợp với runas lệnhalias DOS lệnh cho runas

đặc biệt Tôi mệt mỏi nhận được đường dẫn đầy đủ đến hồ sơ dự thầu ("C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe"), và tôi 'd thích bí danh như MS đã thực hiện cho ssms.

Bất kỳ ai biết cách thực hiện việc này? Tôi biết tôi có thể thực hiện điều này với một tập tin thực thi, nhưng tôi thực sự không muốn.

runas /user:user /netonly bids 

vs

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

Bạn đã sử dụng 'doskey' chưa? – Gabe

+0

Tôi đã tham chiếu tài liệu này: http://technet.microsoft.com/en-us/library/bb490894.aspx và có vẻ như nó có thể hoạt động. Nếu bạn có thể cung cấp câu trả lời bên dưới (thay vì nhận xét), liên kết tới một số tài liệu và cung cấp ví dụ làm việc dựa trên lệnh được liệt kê trong câu hỏi, tiền thưởng là của bạn. –

+0

Với phương pháp của tôi, được đăng bên dưới, bạn có thể làm điều đó giống như @Jon được đề xuất nhưng bí danh lệnh sẽ được tải sẵn khi bạn mở trình bao dos. – djangofan

Trả lời

2

kỹ thuật doskey này được đặc trưng qua tại superuser, xem https://superuser.com/questions/49170/create-an-alias-in-windows-xp.

Vấn đề với nó là bạn không thể xác định bí danh được sử dụng bởi runas. Bạn có thể xác định bí danh bao gồm cả hai lệnh runas lệnh bạn muốn chạy, nhưng điều này sẽ không thể sử dụng lại được. Nhưng những gì về việc này:

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

nào bạn có thể sau đó sử dụng như

r bids 

Tất nhiên điều này đòi hỏi bạn phải thiết lập một var môi trường cho mỗi shortcut bạn 'muốn có, nhưng tôi nghĩ rằng đây không yêu cầu lớn hơn việc đặt chính bí danh doskey. Trong mọi trường hợp, nó không tạo ra một tập tin và nó không yêu cầu bất cứ điều gì được đặt trong path.

Cập nhật:

Tôi không thử nó bản thân mình, nhưng chắc chắn nó trông giống như bạn có thể đặt nó và quên nó.

  • Các biến môi trường có thể được thiết lập thông qua thiết lập hệ thống của Windows (xem ảnh)
  • Các DOSKEY bí danh có thể được thiết lập mỗi lần cmd.exe bắt đầu using the registry

enter image description here

+0

Brilliant! Vài người theo dõi các câu hỏi. Có cách nào để tôi tồn tại lâu hơn một phiên không? Điều này làm việc, nhưng tôi phải thiết lập lại nó mỗi lần tôi khởi động lại dấu nhắc lệnh. –

+0

@BobbyB: Kiểm tra cập nhật :) – Jon

+0

Rất tốt! Cảm ơn rất nhiều –

1

Tôi nghĩ vấn đề bạn đang đánh là các dòng lệnh được đánh giá là người dùng mới - vì vậy trừ khi người dùng mới cũng có quyền truy cập vào bí danh của bạn, nó đã giành 't làm việc.

Chỉnh sửa: Có thể bạn có thể làm việc xung quanh việc này bằng cách tạo một tệp hàng loạt được đặt thuận tiện (hoặc phím tắt?) Khởi chạy BIDS và RunAs'ing?

Edit:

Xem herehere để biết về các lệnh lựa chọn

sử dụng mẫu:

@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 
+0

Vâng, tôi nghĩ về tập tin batch trước đây nhưng có một số kịch bản khác nhau mà tôi làm điều này và tôi thực sự không muốn có nhiều tập tin batch phay về ... –

+0

FWIW, tôi có một tập tin thực thi duy nhất sử dụng 'CHOICE .COM' để cung cấp một trình đơn, thực hiện 'RunAs' và nhắc nhập mật khẩu - Vì vậy, tôi chỉ cần gõ' RunIt', Chọn một tùy chọn và gõ mật khẩu. Trong kịch bản này, tôi cũng có thể chạy các phần mềm khác nhau như những người dùng khác nhau (Acct chuẩn của tôi/Acca DBA của tôi cho SSMS, v.v.) – Basic

+0

Bạn làm thế nào trên thế giới? Tôi không quen thuộc với choice.com –

1

Dưới đây là một kịch bản sẽ thiết lập bí danh trên vỏ lệnh của bạn.Tập lệnh này cung cấp cho bạn lệnh "WHERE" khó nắm bắt:

@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 [email protected] %%e in (%PATHEXT%) do @for %%i in ($*%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i 
+0

Thay thế thú vị. +1 – VonC

+0

Tập lệnh không hoạt động trên mọi hệ thống Win7 ... không chắc chắn tại sao, nhưng nó hoạt động trên 2 máy tính của tôi. – djangofan

Các vấn đề liên quan