cadsupport007
Goto Top

Ordnernamen mit teilweise unbekannten Zeichen finden

Hallo liebe Usergemeinde,

Ich (Level Anfänger) möchte gerne per Batch Ordnernamen mit teilweise unbekannten Zeichen finden und diesen Namen einer Variablen zuweisen.

Folgende Situation:

Ein übergeordneter Ordner (Name bekannt) enthält mehrere Unterordner mit unbekannter Anzahl. Der aktuell gültige Ordner beginnt mit einer 2-stelligen Zahl, gefolgt von einem Unterstrich und einem Zeitstempel (JJJJ.MM.TT._HH.MM.SS). Das sieht dann in etwa so aus: "20_2018.09.09._21.43.30". Die erste 2-stellige Zahl ist bekannt (ist die Nummer einer Stückliste). Die weiteren Ordner, die sich in dem übergeordneten Ordner befinden heißen wie folgt: 2-stellige Zahl, gefolgt von einem Unterstrich und einem Zeitstempel (JJJJ.MM.TT._HH.MM.SS), gefolgt von einem Punkt und dem Wort old. Beispiel: "20_2018.09.07._19.33.35.old".

Ich dachte eventuell mit dir die vorhandenen Ordner auflisten und temporär in eine Datei schreiben. Und dann in der Datei nach einem Namen suchen, der nicht ".old" enthält.


Vielen Dank schon mal für Eure Gedanken und Bemühungen

Gruß Peter

Content-ID: 386000

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

Ausgedruckt am: 23.11.2024 um 14:11 Uhr

Henere
Henere 10.09.2018 um 03:34:11 Uhr
Goto Top
Servus:

dir 20_????.??.??._??.??.??

Grüße, Henere
Friemler
Friemler 10.09.2018 um 09:08:36 Uhr
Goto Top
Moin Peter,

schau Dir mal folgendes an:
@echo off & setlocal

set "BaseDir=."  

for /d %%a in ("%BaseDir%\20_????.??.??._??.??.??") do (  
  call :ProcessDir "%%~a"  
)

exit /b 0


:ProcessDir
  set "CurDir=%~1"  
  echo %CurDir%
exit /b 0

In Zeile 3 musst Du Dein Basisverzeichnis eintragen.

Für jedes Verzeichnis wird das Unterprogramm ProcessDir aufgerufen und als erstes Argument ein Verzeichnispfad übergeben. Innerhalb des Unterprogramms kann der Pfad über %~1 angesprochen und/oder einer normalen Variable zugewiesen werden. Innerhalb der FOR-Schleife des Hauptprogramms würde das so nicht funktionieren, dazu wäre die Aktivierung und Benutzung von verzögerter Variablenerweiterung notwendig.

Siehe auch mein Tutorial zur FOR-Schleife.

Grüße
Friemler
CADSupport007
CADSupport007 16.09.2018 um 22:51:31 Uhr
Goto Top
@Friemler

Danke erst mal für den Tip. Werde es in den nächsten Tagen testen. Sorry für meine späte Reaktion.

Deine Anleitung zur FOR-Schleife ist super. Gibt 5 Sterne. Brauche nur Zeit, um alles nachvollziehen zu können.

Gruß Peter