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-Key: 386000

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

Printed on: April 26, 2024 at 14:04 o'clock

Member: Henere
Henere Sep 10, 2018 at 01:34:11 (UTC)
Goto Top
Servus:

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

Grüße, Henere
Member: Friemler
Friemler Sep 10, 2018 at 07:08:36 (UTC)
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
Member: CADSupport007
CADSupport007 Sep 16, 2018 at 20:51:31 (UTC)
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