43547
Goto Top

Gefundene Dateien suchen und aktuellste Kopieren

Gefundene Dateien suchen und aktuellste Kopieren

Einen wunderschönen guten Tag,

ich habe mir oft helfen lassen und Ihr habt mir geholfen das Script fast perfekt zu machen.
Jetzt kommt der letzte schritt...

Ich suche also an einem PC nach *.CON Dateien und finde mehrere die dann im "C:TEMP" Ordner liegen. So nun habe ich es dank euch auch geschaft das die Aktuellste in den "C:Temp2" Ordner kopiert werden. Mein Problem ist nu das diese Datei von heute sein muss... Es soll aber die Aktuellste Datei vom "C:TEMP" Ordner kopiert werden. (Also auch die von gestern wenn es keine von heute gibt). Hier der teil zu diesem Script:

@echo OFF
CLS
COLOR 9F
TITLE Arzt Abrechnungssoftware Version 2.0
SetLocal EnableDelayedExpansion

MD %LW_WINDIR%AACABR >NUL
MD C:TEMP
MD C:TEMP2

SET LW_WINDIR=A:
SET LW_AAC_SYS=AACABR
SET LOKLW=C:TEMP
SET LOKCON=C:TEMP2

:SEARCH_C
IF NOT EXIST C:*.* GOTO SEARCH_D
C:
CD
ECHO Suchen und Einlesen der vorhandenen CON-Abrechnungsdateien auf Laufwerk C:
ECHO Bitte haben Sie etwas Geduld...
FOR /f "delims=" %%i in ('DIR *.CON /B /S') do if /i [%%~xi]==[.con] @set /A j+=1 & @echo LW!j!=%%i>>%LW_WINDIR%%LW_AAC_SYS%LW_C.drv


ECHO Auslesen der CON Dateien und vorbereiten der Aktuellen Abrechnungsdatei
ECHO auf Laufwerk C:

IF EXIST "%LW_WINDIR%%LW_AAC_SYS%LW_C.drv" (
FOR /f "delims== tokens=2" %%i in (%LW_WINDIR%%LW_AAC_SYS%LW_C.drv) do (

XCOPY %%i %LOKLW% /D/Y >NUL


)
) else (
GOTO EXIT
)

for /f %%i in ('dir %LOKLW%*.CON /b/s /a:-d') do (echo %%~ti |find "%date%") && copy "%%~dpnxi" %LOKCON% >NUL

IF EXIST %LOKCON%*.CON XCOPY %LOKCON%*.CON %LW_WINDIR%%LW_AAC_SYS%

:EXIT
exit


Vielen lieben dank im Vorraus... man ist das ein schööönes wetter...

Content-Key: 56456

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

Printed on: April 19, 2024 at 19:04 o'clock

Mitglied: 17243
17243 Apr 12, 2007 at 10:47:01 (UTC)
Goto Top
Hi

Gefundene Dateien suchen
Bitte nochmals zum Mitschreiben: Welche der gefundenen Dateien willst du suchen?

gretz drop
Mitglied: 43547
43547 Apr 12, 2007 at 10:52:13 (UTC)
Goto Top
die dateien haben die endung "CON" was vor dieser Datei steht (der Dateiname) ist unterschiedlich... ich will also nur die Datei die als letztes erstellt wurde...

der obrige Teil meines Scriptes kopiert die von heute erstellte Datei... ich kann aber nicht vorraussetzten das diese Datei heute erstellt wurde sondern das sie auch 5 tage alt sein kann aber halt die aktuellste...

Ich hoffe Ihr versteht was ich meine :P

Danke erstmal im vorraus...
Member: miniversum
miniversum Apr 12, 2007 at 13:33:56 (UTC)
Goto Top
da ich jetzt so nicht wirklich nachvollziehen kann wie bzw. ob diese Batch so funktioniert geb ich nur mal ne Anleitung soweit ich dneke es verstanden zu haben was du vorhast.
Wenn ichs richtig verstehe befinden sich die .con Dateien alle im Verzeichnis C:\temp. Wenn du sicherstellen kannst das in diesem Verzischniss sonst keine anderen dateien der Endung .con sind (kannst diese ja vorher rauslöschen wenn möglich) ist es recht einfach erledigt.
Mit
dir /B /A-D /OD C:\temp\*.con
kannst du dir ja alle .con Dateien sortiert nach dem Datum ausgeben lassen.
Von dieser Liste nimmst du einfach die letzte dann, also so:
for /F "delims=" %%a in ('dir /B /A-D /OD C:\temp\*.con') do set neustecon="%%a"
So steht dan in der Variabeln %neustecon% die aktuellste .con Datei

miniversum
Mitglied: 43547
43547 Apr 12, 2007 at 13:43:21 (UTC)
Goto Top
Also, ich suche mit diesem Script ".CON" Dateien auf allen Laufwerken (auch auf Netzlaufwerken falls vorhanden). Dies ist nur ein ausschnitt des Scriptes gewesen.

Ich suche also .CON Dateien und kopiere diese nach C:\TEMP und von dort aus will ich die letzte (Aktuellste) ".CON" Datei in das Verzeichniss C:\TEMP2 kopieren...

Bisther klappt es nur wenn die ".CON" Datei vom heutigen Tag ist.
Ich suche halt die lösung das nur die Aktuellste ".CON" Datei, auch wenn diese von gestern ist. (Also die Aktuellste im Verzeichniss C:\TEMP. die dann ins C:\TEMP2 kommt....

Ich schaffs nicht face-sad face-smile
Member: miniversum
miniversum Apr 12, 2007 at 13:59:02 (UTC)
Goto Top
Ok so kopierst du die aktuellste .con Datei von C:\temp nach C:\temp2:
for /F "delims=" %%a in ('dir /B /A-D /OD C:\temp\*.con') do set neustecon="%%a"
copy C:\temp\%neustecon% C:\temp2\

miniversum
Mitglied: 43547
43547 Apr 12, 2007 at 14:24:57 (UTC)
Goto Top
Super... wiedermal schnelle und gute Lösung...

Danke Thema ist erfolgreich abgeschlossen. face-smile face-smile face-smile face-smile face-smile