DOS: Dir Befehl mit relativen Pfaden

MaXg

assimiliert
Problem ist:

Code:
dir /l /n /s /b %windir%\%1
als Batchfile (c:\test.bat )

wenn ich nun den befehl " test.bat *.sys " eingebe, spuckt mir der olle Dir Befehl zwar alle *.sys files aus, aber mit absoluter Pfadangabe.

Gibt es einen Schalter oder befehl wo mir nur relative Pfade ausgegeben werden ?
 
Ich kann mir im Moment nicht vorstellen, dass das geht. Weil bestimmt nicht alle Sys-Dateien in Verzeichnissen liegen, für die relative Pfade existieren.

Letztendlich ist %windir% eine definierte Variable mit dem Wert des Windows-Verzeichnisses.

Es müssten also für jede denkbare Verzeichnisstruktur eine entsprechende Variable existieren.

Was Du evt. machen könntest, wäre eine Ausgabeumleitung in eine txt.Datei und dort dann z.B. das Windows-Verzeichnis durch %windir% ersetzen lassen. Danach lässt sich der Inhalt der txt-Datei dann wieder einlesen.

Wie sowas funktioniert, findest Du hier:
http://computer.freepage.de/cgi-bin...30x030A/rewrite/jgall/schule/bsdos/msdos.html
 
Der code war ja nur ein Beispiel. ;) Bin nicht scharf auf die *sys files, sondern auf das filelisting an sich.

Das Problem besteht ja auch wenn ich:

Code:
dir /l /n /s /b c:\programme\%1
dir /l /n /s /b %windir%\%1
dir /l /n /s /b d:\%1
dir /l /n /s /b e:\%1
nehme und als Befehl " test.bat *.* " eingebe.

Auch bei der ausgabe in textfiles kommt immer der absolute Pfad. ( " test.bat *.* >listing.txt " )
 
Oben