pantherstyle
Goto Top

Unterverzeichnisse einbeziehen

Hallo und Gutän Morgän,
ich habe zwei fertige Batches geschrieben. Allerdings basieren diese auf dem Prinzip, dass der Anwender den gewünschten Pfad eintragen muss UND die korrekte ANzahl an tokens in den for-Schleifen beachten muss. Deshalb (und weil ich drum gebeten wurde) möchte ich das Proframm so umschreiben, dass man ganze Ordner durchsuchen kann mit Unterverzeichnissen (viele). Eine Auflistung und Filterung der Dateien bekomme ich prima hin.

Ich habe dabei eine Liste von Pfaden in folgender Form vorliegen:
Ausgangspfad\Pfad\Datei

Allerdings hätte ich gerne etwas in der folgenden Form:
Pfad\Dateiname

Dabei stellt Ausgangspfad die Nutzerangabe dar.


Die mit diesen Informationen befüllten Dateien würde ich dann mit einer forschleife gegeneinander vergleichen. Alles was nur auf dem 1. Pfad und nicht auf dem 2. Pfad ist gilt als neu andersherum als gelöscht. Alles was in beiden gleichermaßen ist gilt als vorhanden.

Die unter vorhanden gespeicherten Dateien werden dann mittels fc verglichen und als verändert eingeteilt, wenn sie ungleich sind.

Die Ergebnisse aus den Dateien werden dann in einer html Tabelle gespeichert (kein Problem).


Wie ich das mit nur einem Unterordner anstelle ist mir klar (da erfolgreich geschrieben) das Problem sind die Unterverzeichnisse.

Ich werde dazu am besten eine Frage nach der anderen stellen.
1. Wie bekomme ich oberes Format mit "dir > %HELP_PATH%\indextag.txt /B /S /-D /On" hin?
Also so, dass der vom Nutzer eingegebene Pfad abgeschnitten wird.

Content-Key: 112776

Url: https://administrator.de/contentid/112776

Printed on: April 23, 2024 at 16:04 o'clock

Member: Pantherstyle
Pantherstyle Mar 31, 2009 at 07:27:48 (UTC)
Goto Top
So das mit den Dateipfaden habe ich hinbekommen, allerdings sollte das Ganze vollautomatisch funktionieren. Mein Weg:
:: Eintragung der Pfade
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
for /F "tokens=4* delims=\" %%i IN (%HELP_PATH%\filtertag.txt) DO (  
echo %%j >> %HELP_PATH%\tagpfade.txt
)

for /F "tokens=4* delims=\" %%i IN (%HELP_PATH%\filtertag.txt) DO (  
echo %%j >> %HELP_PATH%\branchpfade.txt
)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Wie kann ich es umgehen, dass der Nutzer die tokens von Hand einfügen muss?
Member: miniversum
miniversum Mar 31, 2009 at 16:07:13 (UTC)
Goto Top
Ich habe dabei eine Liste von Pfaden in folgender Form vorliegen:
Ausgangspfad\Pfad\Datei

Allerdings hätte ich gerne etwas in der folgenden Form:
Pfad\Dateiname

Mal ganz allgemein:
set Absolutpfad=Ausgangspfad\Pfad\Datei
set rootpfad=Ausgangspfad
call set Relativpfad=%%Absolutpfad:%rootpfad%=%%
echo %Relativpfad:~1%