2009-07-03 6 views
0
f:\i>move foo bar dir 
The syntax of the command is incorrect 

Hilfe bewegen sagt:Windows-Shell, bewegen sich mehrere Dateiargumente Fehler

MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination 

Diese mehrere Argumente zu implizieren scheint. Wie kann ich also mehrere Argumente zum Verschieben geben?

+0

Stobors Kommentar unten zeigt die Syntax von XP und später entfernt wurde. Wenn Sie darüber nachdenken, hat MS das kaputt gemacht: Dateinamen können Kommas enthalten. Wenn Sie also drei Dateien haben, die ich mit Anführungszeichen abgrenze: "Datei1" "Datei2" und "Datei1, Datei2", dann "verschiebt Datei1 , file2 someDir "gemein? Problem ist, die Syntax hätte lauten sollen: "move [/ Y |/-Y] Dateiname1 [Dateiname2 ...] Ziel". Ja, Dateinamen können Leerzeichen haben, aber dann begrenzen Sie Ihre Dateinamen in der Befehlszeile mit Anführungszeichen, und alles funktioniert gut. Point ist, jeder Dateiname muss ein eigener avgv-Eintrag sein, um ihn zu verschieben. –

Antwort

3

in der Befehlszeile:

for %i in (foo bar) do @move %i dir 

Oder (ist da die Verwendung von % Variablen dort etwas anders) in einer cmd-Datei:

for %%i in (foo bar) do @move %%i dir 
+0

move soll mehrere Argumente enthalten. Siehe meine Bearbeitung. –

+0

Überholen Sie Ihre Programmiersprache Bias. Wenn es sich um ein Argument für eine C-Datei-Move-Funktion handeln würde, wäre das Programmieren? Beide gehen in eine Datei als Teil eines Programms, das Programmieren ist. –

+0

Ich habe keine sprachliche Voreingenommenheit, Ian, ich habe nur darauf hingewiesen, dass, wenn Sie fragen, wie man Dateien von der Eingabeaufforderung verschiebt, das 'NICHT programmierungsbezogen ist und die Frage geschlossen wird. Wenn es als Teil eines Cmd-Skripts ausgeführt wird, wird es programmiert. Einige meiner besten Codes wurden in bash/cmd geschrieben. – paxdiablo

1

, wenn Sie das Privileg haben, stopft zum Download Sie können GNU coreutils,

c:test> mv foo bar destination 
0

Zum Bestehen mehrere fi verwenden les auf den Bewegungsbefehl als erstes Argument, sie durch Kommas getrennt:

move foo,bar dir 

, deshalb, in der Hilfe ein Komma gibt es:

MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination 
+1

Das gibt die exakt gleiche Nachricht, Syntax falsch. mkdir foo bar dir, dann tu diesen Befehl, du wirst sehen. –

+0

Anscheinend wurde diese Syntax in XP und neuer fallen gelassen ... Es hat in win2k und vorher funktioniert. Ich weiß nicht, warum es immer noch in den Dokumenten aufgeführt ist.: -S – Stobor

+1

Wenn die Multi-Datei-Syntax wirklich in XP und später entfernt wurde, ist wahrscheinlich die beste Option, eine CMD-Datei mit den Befehlen in meiner Antwort zu erstellen (geeignet angepasst, um Leerzeichen im Dateinamen zu behandeln)). – paxdiablo

Verwandte Themen