Batch schreiben

bEx7oR

Lieutenant
Registriert
Mai 2008
Beiträge
581
Hi,

ich weiß nicht ob das hier richtig ist aber ich schreib einfach mal.

Mein Anliegen besteht darin das ich eine Batch Datei für ein Projekt schreiben und ich diese optimieren möchte.

Und zwar möchte ich die copy Befehle in dem Fenster der Batch ausgeben. Wie es quasi in der CMD angezeigt wird wenn ich die Befehle Per Hand Kopiere.

Meine Frage dazu. Wie macht man das. Dr. google hat mich nicht wirklich schlauer gemacht.

ich will quasi diese Befehle einfach im gleichen Fenster ausgeben lassen wie es in der cmd passiert

format %Laufwerk%: /V:OPENELEC /Q /FS:FAT32 /X

cd C:\bootmedium\

3rdparty\syslinux\win32\syslinux.exe -f -m -a %Laufwerk%:
copy target\* %Laufwerk%:
copy CHANGELOG %Laufwerk%:
copy INSTALL %Laufwerk%:
copy README.md %Laufwerk%:
copy RELEASE %Laufwerk%:
copy openelec.ico %Laufwerk%:
copy 3rdparty\syslinux\vesamenu.c32 %Laufwerk%:
copy 3rdparty\syslinux\libcom32.c32 %Laufwerk%:
copy 3rdparty\syslinux\libutil.c32 %Laufwerk%:
copy splash.png %Laufwerk%:
copy sample.conf\syslinux.cfg %Laufwerk%:
xcopy Media %Laufwerk%:\Media\ /s


und hier der code der Batch
 
Zuletzt bearbeitet:
geht es etwas genauer?
 
Hat OpenElec nicht genau so eine batch datei immer dabei? Warum möchtest du diese denn überhaupt nochmal neu schreiben?
ECHO. | >NUL format %DRIVE% /V:OPENELEC /Q /FS:FAT32 /X
IF ERRORLEVEL 1 goto InvalidDrive
>NUL 3rdparty\syslinux\win32\syslinux.exe -f -m -a %DRIVE%
>NUL copy target\* %DRIVE%
>NUL copy CHANGELOG %DRIVE%
>NUL copy INSTALL %DRIVE%
>NUL copy README.md %DRIVE%
>NUL copy RELEASE %DRIVE%
>NUL copy openelec.ico %DRIVE%

FOR /F "tokens=5" %%G IN ('vol %DRIVE% ^|find "-"') DO SET DRIVEUUID=%%G
ECHO PROMPT 0 >> %DRIVE%\syslinux.cfg
ECHO DEFAULT installer >> %DRIVE%\syslinux.cfg
ECHO. >> %DRIVE%\syslinux.cfg
ECHO LABEL installer >> %DRIVE%\syslinux.cfg
ECHO KERNEL /KERNEL >> %DRIVE%\syslinux.cfg
ECHO APPEND boot=LABEL=OPENELEC installer quiet tty >> %DRIVE%\syslinux.cfg
ECHO. >> %DRIVE%\syslinux.cfg
GOTO END

So wird es in der createinstallstick.bat von openelec gemacht
 
Du unterdrückst die Befehlsanzeige mit dem echo off Befehl zu Beginn deiner Batch.

Damit ist das lokale Echo ausgeschaltet.

Wenn du die Zeile weglässt, ist das Echo an.


Du kannst dann für einzelne Zeilen wo kein Echo gewünscht ist mit einem @ Zeichen starten. Das unterdrückt nur das Echo dieses einen Befehls.

Daher kommt auch das @ bei den häufig anzutreffenden @echo off Zeilen.



Das Thema Echo und Ausgabe von irgendwas ist Grundlage im Umgang mit Commandlines und sicher in vielen Guides zu finden.
 
Zuletzt bearbeitet:
ich will quasi diese Befehle einfach im gleichen Fenster ausgeben lassen wie es in der cmd passiert
bin ich heute so doof oder verstehe ich das nicht xD


wenn ich eine test.bat erstelle z.B. mit

set laufwerk=c:
dir %laufwerk%\*.*

dann führe ich test.bat aus

dann sehe ich doch alles im CMD, was ausgeführt wird, nämlich

set laufwerk=c:
dir c:\*.*

oder verstehe ich nur Bahnhof und er meinte ganz was andersxD
 
hat sich erledigt habe es hinbekommen wie ich wollte. Trotzdem danke

einzig für mein Verständnis wäre noch schön zu wissen wa - f -m -a bedeutet

Code:
syslinux.exe -f -m -a
 
Zuletzt bearbeitet:
-f Force installing
-m MBR: install a bootable MBR sector to the beginning of the drive
-a Active: marks the partition used active (=bootable)
 
Zurück
Oben