Per Batch bereits importierte Ordner erkennen
Hallo liebe Admin-Gemeinde,
ich komme leider nicht weiter und benötige dringend die Hilfe der Community, ich hoffe sehr dass mir jemand helfen kann und mein Problem versteht
Also folgendes Scenario:
Es existiert ein Verzeichnis, welches jeden Tag erneut mit Tagesordnern befüllt wird, die abends auf einen anderen Server verschoben werden, z.B.:
2010\
\F0602
\F0604
\F0612
Diese lasse ich mir nun in eine Logdatei (inhalt.txt) schreiben, verschiebe sie anschließend auf den anderen Server und möchte nun am nächsten Tag, dass folgendes von meiner Batch ausgeführt wird:
for /f "tokens=1,2*" %%a(hier:aktuelle Ordner im Verzeichnis -> "F0602,F0604") do "suche %%a in ('inhalt.txt')
Wenn gleicher Ordner in "inhalt.txt" bereits geloggt wurde, dann verschiebe den aktuellen Ordner in "_Achtung" und schicke Mail per Blat.
Leider komme ich mit diesen for-Konstrukten noch nicht so richtig zurecht, so dass ich an der korrekten Ausformulierung scheitere.
Wäre klasse wenn mir jemand helfen könnte und freue mich auf Eure Antworten!
Greets
Crusher007
ich komme leider nicht weiter und benötige dringend die Hilfe der Community, ich hoffe sehr dass mir jemand helfen kann und mein Problem versteht
Also folgendes Scenario:
Es existiert ein Verzeichnis, welches jeden Tag erneut mit Tagesordnern befüllt wird, die abends auf einen anderen Server verschoben werden, z.B.:
2010\
\F0602
\F0604
\F0612
Diese lasse ich mir nun in eine Logdatei (inhalt.txt) schreiben, verschiebe sie anschließend auf den anderen Server und möchte nun am nächsten Tag, dass folgendes von meiner Batch ausgeführt wird:
for /f "tokens=1,2*" %%a(hier:aktuelle Ordner im Verzeichnis -> "F0602,F0604") do "suche %%a in ('inhalt.txt')
Wenn gleicher Ordner in "inhalt.txt" bereits geloggt wurde, dann verschiebe den aktuellen Ordner in "_Achtung" und schicke Mail per Blat.
Leider komme ich mit diesen for-Konstrukten noch nicht so richtig zurecht, so dass ich an der korrekten Ausformulierung scheitere.
Wäre klasse wenn mir jemand helfen könnte und freue mich auf Eure Antworten!
Greets
Crusher007
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 145394
Url: https://administrator.de/contentid/145394
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
7 Kommentare
Neuester Kommentar
Hallo Crusher007!
Wenn es um Ordner geht, wäre eigentlich eine "
Falls nicht für jeden Ordner eine Mail erzeugt werden soll, könnte das so aussehen:
Das "
Grüße
bastla
Wenn es um Ordner geht, wäre eigentlich eine "
for /d
"-Schleife das richtige Werkzeug - ungetestet etwa so:@echo off & setlocal
set "Basis=D:\2010"
set "Achtung=D:\_Achtung"
set "Liste=D:\inhalt.txt"
for /d %%i in ("%Basis%\*.*") do findstr /c:"%%~nxi" "%Liste%" && (
echo move "%%i" "%Achtung%"
echo blat ...
)
@echo off & setlocal
set "Basis=D:\2010"
set "Achtung=D:\_Achtung"
set "Liste=D:\inhalt.txt"
set "Ordner="
for /d %%i in ("%Basis%\*.*") do findstr /c:"%%~nxi" "%Liste%" && call :ProcessFolder "%%i"
if defined Ordner echo blat ... %Ordner%
goto :eof
:ProcessFolder
echo move %1 "%Achtung%"
set "Ordner=%Ordner%%~1 "
goto :eof
echo
" vor dem "move
" ist für die Testphase gedacht, und die Zeile für "blat" hast Du ja vermutlich schon fertig (wobei in der zweiten Variante die Ordnerliste zusätzlich in den "body" aufgenommen werden könnte).Grüße
bastla
Hallo Crusher007!
Deine Skizze wirft für mich noch weitere (Verständnis-)Fragen auf:
Grüße
bastla
Deine Skizze wirft für mich noch weitere (Verständnis-)Fragen auf:
- Soll tatsächlich jeder Ordner, der in der Liste aufscheint, auf jeden Fall verschoben werden und
- soll erst dann auch noch geprüft werden, ob Dateien aus der Liste im Ordner enthalten sind, um erst, wenn auch das zutrifft, eine Mail zu verschicken?
- Sind die Dateien nur zu melden, oder zusätzlich noch zu "behandeln" (zB verschieben)?
Grüße
bastla