2016-04-05 2 views
0

so bin ich neu beim Erstellen von Batch-Dateien und versuche, nur eine einfache Batch-Datei erstellen ein bootfähiges WinPE USB-Laufwerk erstellen. Ich habe Stunden online gesucht, um herauszufinden, warum ich Multiline-Codierung nicht verwenden kann, um den Stapel zu erstellen, aber den &-Zeichen mit der gleichen Codierung verwenden kann, und es funktioniert einwandfrei!Neu zum Erstellen von Batch-Dateien, warum funktioniert und funktioniert, aber Multiline nicht

Ich entschuldige mich im Voraus dafür, dass ich nicht herausfinden konnte, wie der Code so angezeigt werden kann, wie er in meinem Editor angezeigt wird. In diesem Zusammenhang verwende ich auch Notepad, um meine Batch-Dateien zu bearbeiten. Hier ist der Code, den ich benutzte, und wie ich schon sagte, es ist super einfach.

echo :begin cd C:\Program Files\Windows AIK\Tools\PETools copype amd64 c:\winpe-amd64 & copy c:\winpe-amd64\winpe.wim c:\winpe-amd64\iso\sources\boot.wim & copy "c:\program files\windows AIK\Tools\amd64\imagex.exe" "c:\winpe-amd64\iso" & oscdimg -n -bc:\winpe-amd64\etfsboot.com "c:\winpe-amd64\iso" "c:\winpe-amd64\winpe-amd64.iso" goto begin

Allerdings, wenn ich versuche, das mehrzeilige zu machen, so dass ich bin nicht mit Recht für Kinder ab zu bewegen, vor allem, wenn ich versuche, komplexere Codes zu erstellen, ich habe nicht das gleiche Ergebnis. Hier ist, wie es für mich aussieht, wenn ich Multiline benutze.

echo :begin cd C:\Program Files\Windows AIK\Tools\PETools copype amd64 c:\winpe-amd64
copy c:\winpe-amd64\winpe.wim c:\winpe-amd64\iso\sources\boot.wim copy "c:\program files\windows AIK\Tools\amd64\imagex.exe" "c:\winpe-amd64\iso" cmd oscdimg -n -bc:\winpe-amd64\etfsboot.com "c:\winpe-amd64\iso" "c:\winpe-amd64\winpe-amd64.iso" goto begin

Ich habe Zeile für Zeile gegangen, Eingabe in einer nach dem anderen zu befehlen, und alle Befehle für mich arbeiten, wenn ich es auf diese Weise tun, damit ich weiß, dass ich nicht eine Datei fehlt oder Verzeichnis.

Wie ich schon sagte, bin ich ratlos. Mache ich etwas falsch? Gibt es eigentlich keine Möglichkeit, diese Batchdatei in mehrzeiliger Form auszuführen?

Antwort

1

copype scheint eine .cmd Datei zu sein. Wenn sie beendet wird, wird der Stapel beendet, wenn die Ausführung in den zweiten Stapel übertragen wird. Wenn die Zeile mit & erweitert wird, sollten die restlichen Befehle ebenfalls ausgeführt werden.

Die Lösung ist

call copype amd64 c:\winpe-amd64 

, die einen Ort der Rückgabe und Batch bietet weiterhin nach dem copype abgeschlossen ist.

+0

Das hat funktioniert! Vielen Dank! Ich hätte nie gedacht, dass der Copype eine eigene .cmd-Datei ist. Es hat ein paar Minuten gedauert, bis ich die Fehler behoben hatte, nachdem ich deinen Ratschlag benutzt hatte (ich hatte dumme Fehler in den Pfadnamen), aber es funktionierte !! Danke @Magoo! –

0

Diese Zeilen sind nicht gleich! Entfernen Sie "cmd" vom Anfang einer Zeile, wo es in Ihrem mehrzeiligen Format angezeigt wird.

+0

Ich sah das, und änderte es ... Ich denke, es war ein Ergebnis meiner vielen zwickt versuchen, es zur Arbeit zu bringen. Aber selbst wenn man es ändert, wird es immer noch nicht funktionieren. @ RGuggisberg. –

+0

Wo ich auf das Problem, dass es nicht funktioniert, ist nach der Copy-Linie. Es kopiert diese Dateien kein Problem, aber dann beendet. Ich habe nicht herausgefunden, wie man die Datei danach weitermachen kann. Ich habe xcopy mit dem Echo f | versucht. Ich habe versucht, zu starten/warten Ich habe versucht, cmd.exe/k starten ... vielleicht ist meine Syntax falsch .. aber ich kann einfach nicht herausfinden, wie man den zweiten Teil der Batch-Datei (im Multiline-Format) arbeiten. Es funktioniert gut in der ersten Instanz der Batch-Datei mit der & @RGuggisberg –

Verwandte Themen