2010-12-15 9 views
0

Quelle: http: //jpsoft.com/help/index.htm alias.htmmit Alias-Parameter in Fenster Eingabeaufforderung

Aliases können Befehlszeile Parameter oder Parameter wie die in Batch-Dateien . Die Parameter der Befehlszeile sind von% 0 bis % 511 nummeriert. (% 0 enthält den Alias-Namen.)

Zum Beispiel die folgenden Alias ​​wird ändern Verzeichnisse, führen Sie einen Befehl, und zurück zum ursprünglichen Verzeichnis:

alias in pushd %1 & %2$ & popd

, wenn ich die oben ausgeführt, gibt meine Eingabeaufforderung zu sagen Fehler

% 1 * Kann nicht Wert von Alias ​​lesen * ‚% 2‘ nicht als interner oder externer Befehl erkannt wird, ausführbares Programm oder Batch-Datei. "popd" wird nicht als interner oder externer Befehl erkannt, ausführbare Programm- oder Batch-Datei.

, wenn Sie stattdessen doppelte Anführungszeichen verwenden, alias in "pushd% 1 & dir & popd" interpretiert nicht die% 1, wenn Sie die

C alias ausführen: \ abc \ def> alias Dumping Alle definierten Aliase für CMD.EXE. in = pushd% 1 & dir & popd

alias def arbeiten gewohnt

--------- ------------ EDIT lassen Sie mich einige Beispiele versuchen Ausgabe mit einem einfachen Echo-Alias ​​

D: \ abc \ def> alias /?

Verbrauch: ALIAS [-v] [-p program] [-f Filespec] []

  [-v] means verbose output. 

     [-d] means delete aliases. 

     [-p programName] specifies which image file name these alias 

          definitions are for. Default is CMD.EXE 

     [-f filespec] specifies a file which contains the alises. 

C: \ Office \ dev15> Alias ​​out 'echo% 1'

% 1 '* Kann nicht Wert alias lesen *

C: \ Office \ dev15> alias aus Graviszeichen echo% 1 Graviszeichen

% 1 '* Kann nicht Wert alias lesen *

C: \ Office \ dev15> alias out "echo% 1"

C: \ Office \ dev15> alias

Dumping aller definierten Aliase für CMD.EXE.

out    =echo %1 

C: \ Office \ dev15> aus abc

% 1

C: \ Office \ dev15> alias aus echo% 1

% 1 * Kann nicht Wert lesen von Alias ​​*

C: \ Office \ dev15> aus abc

ECHO ist eingeschaltet.

Problem ist, beide Apostroph und zurück tick Fehler produzieren, während doppelte Anführungszeichen wont% 1 als variable Parameter behandeln auch mit keinem der Anführungszeichen versucht. wouldnot noch arbeiten

Antwort

1

Okay, versuchen, diese (Verwendung Kopieren und Einfügen):

alias dtxt = `pushd %1 & dir %2$ & popd` 

Dies stellt den Alias ​​'dtxt' auf die folgenden Befehle:

pushd %1 
    dir %2 
    popd 

Achten Sie besonders Aufmerksamkeit auf die invertierten einfachen Anführungszeichen (`) um die Alias-Definition. Dies ist auf der oberen linken Taste der ISO (UK) und ANSI (US) Tastaturen zu finden.

Sie müssen zwei Parameter liefern, % 1 und % 2 wenn dtxt Ausführung - wie sie in den folgenden Beispielen ein Zielpfadnamen und einen Parameter für den DIR-Befehl:

dtxt c:\temp *.txt 

Kurz gesagt, PUSHD verschiebt den aktuellen Namen des Arbeitsverzeichnisses auf einen LIFO-Stapel und ändert das Verzeichnis in c: \ temp.

Der DIR Befehl führt dann mit % 2 wie es Parameter ist - in diesem Fall '* .txt'.

Schließlich, POPD stellt das vorherige Arbeitsverzeichnis wieder her, indem es vom Stapel entfernt wird.

FYI, ist dies gleichbedeutend mit dem folgenden Standard-Befehl DOS:

dir c:\temp\*.txt 

Der folgende Befehl in Standard-DOS wird auch gut funktionieren:

pushd & dir *.txt & popd 

Aber offensichtlich 'dtxt' ist kürzer und spart Tastenanschläge!

+0

Hier meine Ausgabe ist, nachdem ich den Befehl D kopiert und eingefügt: \> alias dtxt = 'pushd% 1 & dir% 2 $ & popd' Datenträger in Laufwerk D New Volume Volumeseriennummer ist Verzeichnis von D: \ Datei nicht ‚popd'‘ gefunden wird nicht als interner oder externer Befehl, bedienbare Programm oder Batch-Datei erkannt. – freshWoWer

+0

FreshWoWer, auf welchem ​​Betriebssystem läuft das? Verwenden Sie auch "Befehl übernehmen"? - Wenn ja, welche Version? –

+0

Ich benutze windowserver2008R2 und benutze nicht den Befehl take – freshWoWer