Batch für Ordner des Vortages
Hallo Forum,
ich versuche von einem Netzlaufwerk ( O: )eine Datei zu kopieren.
Die Datei liegt in einem Ordner der immer nach JJJJMMTT benannt ist.
Ich möchte immer aus dem Ordner von gestern eine Datei test.txt auf ein anderes Laufwerk kopieren!
Leider fehlt mir komplett der Ansatz zur Ordnersuche etc.
Die Hilfe konnte meine Fragen leider auch nicht beantworten!
Bedanke mich schon mal für eure Hilfe!
Toni
ich versuche von einem Netzlaufwerk ( O: )eine Datei zu kopieren.
Die Datei liegt in einem Ordner der immer nach JJJJMMTT benannt ist.
Ich möchte immer aus dem Ordner von gestern eine Datei test.txt auf ein anderes Laufwerk kopieren!
Leider fehlt mir komplett der Ansatz zur Ordnersuche etc.
Die Hilfe konnte meine Fragen leider auch nicht beantworten!
Bedanke mich schon mal für eure Hilfe!
Toni
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 161183
Url: https://administrator.de/contentid/161183
Ausgedruckt am: 22.11.2024 um 12:11 Uhr
11 Kommentare
Neuester Kommentar
Hallo Tonibert!
In diesem Thread findest Du einen Ansatz für das Ermitteln des gestrigen Datums durch ein in den Batch integriertes VBScript, und eine globale Suche auf dem Laufwerk O: (warum ist es überhaupt erforderlich, das gesamte Laufwerk zu durchsuchen?) nach einem bestimmten Ordner ginge in einem Batch etwa so:
Grüße
bastla
In diesem Thread findest Du einen Ansatz für das Ermitteln des gestrigen Datums durch ein in den Batch integriertes VBScript, und eine globale Suche auf dem Laufwerk O: (warum ist es überhaupt erforderlich, das gesamte Laufwerk zu durchsuchen?) nach einem bestimmten Ordner ginge in einem Batch etwa so:
for /f "delims=" %%i in ('dir /s /b /ad "O:\%Ordnername%"') do set "Ordnerpfad=%%i"
bastla
Hallo Tonibert!
Wenn der Ordner nicht erst gesucht werden muss (sondern zB unmittelbar auf "O:\" liegt), könntest Du auch einfach den jüngsten Ordner, dessen Name zB mit "201" beginnt (funktioniert dann aber nur bis zum Jahr 2019 ), verwenden - etwa so:
Grüße
bastla
Wenn der Ordner nicht erst gesucht werden muss (sondern zB unmittelbar auf "O:\" liegt), könntest Du auch einfach den jüngsten Ordner, dessen Name zB mit "201" beginnt (funktioniert dann aber nur bis zum Jahr 2019 ), verwenden - etwa so:
@echo off & setlocal
set "Ordnerpfad="
for /d %%i in (O:\201*) do set "Ordnerpfad=%%~fi"
echo Zu kopierende Datei: "%Ordnerpfad%\test.txt"
bastla
Hallo Tonibert!
Eigentlich hatte ich vorhin (= bevor ich leider abgelenkt wurde ) zu folgender Variante raten wollen:
- dadurch wird nämlich der (anhand des Namens sortierte) neueste Ordner gefunden ...
Grüße
bastla
[Edit] Anführungszeichen in Zeile 3 korrigiert [/Edit]
Eigentlich hatte ich vorhin (= bevor ich leider abgelenkt wurde ) zu folgender Variante raten wollen:
@echo off & setlocal
set "Ordnerpfad="
for /f "delims=" %%i in ('dir /b /ad /on O:\201* 2^>nul') do set "Ordnerpfad=O:\%%i"
if defined Ordnerpfad (echo Zu kopierende Datei: "%Ordnerpfad%\test.txt") else (echo Kein Ordner gefunden!)
Grüße
bastla
[Edit] Anführungszeichen in Zeile 3 korrigiert [/Edit]
Hallo Tonibert!
Naja, wenn es mehr als eine Datei gibt, musst Du tatsächlich den Namen kennen - sonst würde auch ein
genügen.
Wenn andererseits das Datum dem Ordnernamen entspricht, ginge das etwa so:
Grüße
bastla
Naja, wenn es mehr als eine Datei gibt, musst Du tatsächlich den Namen kennen - sonst würde auch ein
... copy "%Ordnerpfad%\*_test.txt" "D:\Zielordner\"
Wenn andererseits das Datum dem Ordnernamen entspricht, ginge das etwa so:
@echo off & setlocal
set "Datum="
for /f "delims=" %%i in ('dir /b /ad /on O:\201* 2^>nul') do set "Datum=%%i"
if defined Datum (echo Zu kopierende Datei: "O:\%Datum%\%Datum%_test.txt") else (echo Kein Ordner gefunden!)
bastla