Ich will mir ne Batchdatei schreiben die ein Assemblercode verarbeitet und Linkt.
Die sieht so aus:
Code: Alles auswählen
cd c:\asm
ml /c %1%
dlink %1%
Danke
Code: Alles auswählen
cd c:\asm
ml /c %1%
dlink %1%
Auf Windows XP bzw. Windows 2000 eine Batchdatei "batch_link.bat":Norbie hat geschrieben:Hi!
Ich will mir ne Batchdatei schreiben die ein Assemblercode verarbeitet und Linkt.
Die sieht so aus:in %1% ist der Pfad zur Datei mit dem Code. ml will das so haben, aber dlink will nur den Dateinamen ohne Pfad und Endung. Wie kann ich das aus %1% herrausfiltern?Code: Alles auswählen
cd c:\asm ml /c %1% dlink %1%
Code: Alles auswählen
:: Voller Pfad der Datei
Set FullPath=%~f1
::Dateiname ohne Pfad und Endung
Set FileName=%~n1
:: Laufwerk wechseln
c:
:: Verzeichnis wechseln
cd \asm
:: ml aufrufen
ml /c %FullPath%
:: Wenn der volle Pfad Leerzeichen enthält dann: ml /c "%FullPath%"
:: dlink aufrufen
dlink %FileName%
:: Wenn der Dateiname Leerzeichen enthält dann: dlink "%FileName%"
Code: Alles auswählen
:: Voller Pfad der Datei
Set FullPath=%~f1
::Dateiname ohne Pfad und Endung
Set FileName=%~n1
:: Aktuelles Verzeichnis merken und zu c:\asm wechseln
:: (geht auch Laufwerk-übergreifend)
pushd c:\asm
:: ml aufrufen
ml /c %FullPath%
:: Wenn der volle Pfad Leerzeichen enthält dann: ml /c "%FullPath%"
:: dlink aufrufen
dlink %FileName%
:: Wenn der Dateiname Leerzeichen enthält dann: dlink "%FileName%"
:: Zum ursprünglichen Verzeichnis wechseln
:: (geht auch Laufwerk-übergreifend)
popd
Code: Alles auswählen
set PATH=%PATH%;C:\asm
nur mal aus interesse: aus welcher sprache stammt dieses?helpy hat geschrieben:Anmerkunge: Den Doppel-Doppelpunkt "::" nehme ich für Kommentare!
Der Doppelpunkt wird in Batch-Dateien für Sprungmarken verwendet ":Sprungmarke" ... damit kannst Du sogar kleine Unterprogramme schreiben (unter XP und 2000 können sogar Parameter an diese Unterprogramme übergeben werden).Kaeru Gaman hat geschrieben:nur mal aus interesse: aus welcher sprache stammt dieses?helpy hat geschrieben:Anmerkung: Den Doppel-Doppelpunkt "::" nehme ich für Kommentare!