Jump to content

Batch-Script


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Recommended Posts

Posted

Moin Alle.

Unser BrightStore schreibt Logfiles in ein Verzeichnis. Ich möchte jetzt aus diesem Verzeichnis die letzten beiden J0000***.LOG Dateien (mittels copy in eine Datei) in ein anderes Verzeichnis kopieren. In dem BrightStore-Verzeichnis befinden sich noch andere Dateien und die Dateinamen ändern sich auch immer. Wie finde ich mittels eines DOS-Befehls die letzten beiden hinzugefügten J0000***.LOG Dateien?

 

Kann jemand helfen?

 

Gruss, Tom.

Posted

Ich habs mal hiermit versucht:

 

C:\WINDOWS\system32\robocopy.exe D:\Programme\CA\"BrightStor ARCserve Backup"\LOG\cas_user_logs\caroot\ D:\Programme\CA\"BrightStor ARCserve

Backup"\LOG\cas_user_logs\smtp\ J*.LOG /MAXAGE:1

 

Batch-Datei: Passiert leider nichts.

Denkfehler??

Posted

Ich habe die Leerzeichen durch ein % ersetzt.

Irgendwie hat er Probleme mit dem Pfad.

 

C:\Dokumente und Einstellungen\Administrator>C:\WINDOWS\system32\robocopy.exe D:
\Programme\CA\BrightStor%ARCserve%Backup\LOG\cas_user_logs\caroot\ D:\Programme\
CA\BrightStor%ARCserve%Backup\LOG\cas_user_logs\smtp\ *.LOG /MAXAGE:4
-------------------------------------------------------------------------------
  ROBOCOPY     ::     Robust File Copy for Windows     ::     Version XP010
-------------------------------------------------------------------------------
 Started : Mon Feb 04 14:41:34 2008
 Source : D:\Programme\CA\BrightStor%ARCserve%Backup\LOG\cas_user_logs\caroot\
 Dest : D:\Programme\CA\BrightStor%ARCserve%Backup\LOG\cas_user_logs\smtp\
 Files : *.LOG
Options : /COPY:DAT /MAXAGE:4 /R:1000000 /W:30
------------------------------------------------------------------------------

2008/02/04 14:41:34 ERROR 3 (0x00000003) Accessing Source Directory D:\Programme
\CA\BrightStor%ARCserve%Backup\LOG\cas_user_logs\caroot\
Das System kann den angegebenen Pfad nicht finden.

Posted

Moin tomgr,

 

da Du ja nun etwas vom Verzeichnis c:\windows\system32 schreibst, scheint es sich nun doch nicht um ein DOS-Environment zu handeln, sondern um das der CMD.exe.

Dann könntest Du von folgendem Ansatz (bitte testen am CMD-Prompt) ausgehen.

[Alle drei Zeilen eingeben und die ausgabe im Auge behalten]


set "filemask=\LOG\cas_user_logs\smtp\ J*.LOG"
for /f %i in ('dir %filemask% ^|find "Datei(en)"') do @set /a "toskip=%i-2"
for /f "skip=%toskip%" %i in ('dir %filemask% /b /o:d') do @echo %i
[/Code]

Dann sollten die frischesten beiden Logfiles angezeigt werden.

 

Wenn es tut, dann pack das in einen Batch, ersetze alle %i durch %%i und ändere den Demo-Teil ("echo %i") in "copy %i d:\ein\neues\zuhause\

 

Grüße

Biber

Posted
Ich habe die Leerzeichen durch ein % ersetzt.

Irgendwie hat er Probleme mit dem Pfad.

 

C:\Dokumente und Einstellungen\Administrator>C:\WINDOWS\system32\robocopy.exe D:
\Programme\CA\BrightStor%ARCserve%Backup\LOG\cas_user_logs\caroot\ D:\Programme\
CA\BrightStor%ARCserve%Backup\LOG\cas_user_logs\smtp\ *.LOG /MAXAGE:4
-------------------------------------------------------------------------------
  ROBOCOPY     ::     Robust File Copy for Windows     ::     Version XP010
-------------------------------------------------------------------------------
 Started : Mon Feb 04 14:41:34 2008
 Source : D:\Programme\CA\BrightStor%ARCserve%Backup\LOG\cas_user_logs\caroot\
 Dest : D:\Programme\CA\BrightStor%ARCserve%Backup\LOG\cas_user_logs\smtp\
 Files : *.LOG
Options : /COPY:DAT /MAXAGE:4 /R:1000000 /W:30
------------------------------------------------------------------------------

2008/02/04 14:41:34 ERROR 3 (0x00000003) Accessing Source Directory D:\Programme
\CA\BrightStor%ARCserve%Backup\LOG\cas_user_logs\caroot\
Das System kann den angegebenen Pfad nicht finden.

 

Die Pfade solltest Du doch schon richtig angeben. Also ohne %, aber komplett in Anführungszeichen. Also z. B. so "D:\Programme\CA\BrightStor ARCserve Backup\LOG\cas_user_logs\caroot\"

Posted

Moin

Keine Chance.

Merkwürdiger Weise hat er Schwierigkeiten mit der Zieladresse die auch in "" gesetzt ist.

Direkt hinter der Quelle.

 

C:\Dokumente und Einstellungen\Administrator>C:\WINDOWS\system32\robocopy.exe "D:\Programme\CA\BrightStor ARCserve Backup\LOG\cas_user_logs\caroot\" "D:\Programme\CA\BrightStor ARCserve Backup\LOG\cas_user_logs\smtp\" *.LOG /MAXAGE:4

 

-------------------------------------------------------------------------------
  ROBOCOPY     ::     Robust File Copy for Windows     ::     Version XP010
-------------------------------------------------------------------------------
 Started : Tue Feb 05 07:21:27 2008
  Source - D:\Programme\CA\BrightStor ARCserve Backup\LOG\cas_user_logs\caroot" D:\Programme\CA\BrightStor\
    Dest - C:\Dokumente und Einstellungen\Administrator\ARCserve\
   Files : 
 Options : /COPY:DAT /R:1000000 /W:30 
------------------------------------------------------------------------------
ERROR : Invalid Parameter #3 : "Backup\LOG\cas_user_logs\smtp""

Posted

Moin tomgr,

 

1. Deine ursprüngliche Fragestellung, so wie ich sie wahrgenommen habe war:

Wie finde ich mittels eines DOS-Befehls die letzten beiden hinzugefügten J0000***.LOG Dateien?

[/Quote]

Dafür hatte ich weiter oben einen Vorschlag gemacht. Schon gelesen?

 

2. Wenn Du jetzt stattdessen mit Robocopy alle *.log-Dateien jünger als 4 Tage kopieren willst, was ich nicht unbedingt als wortwörtliche Umsetzung der Aufgabe bezeichnen würde, dann lass bitte bei "Quelle" und "Ziel" jeweils den abschließenden Backslash weg.

 

3. Wenn Du solche Schinken wie Robocopy oder xcopy testen willst, dann überprüfen doch das, was passieren soll mit dem zusätzlichen Parameter /L für "nur anlisten, was ich tun würde". Das geht sogar ohne Batch drumherum.

 

4. Nochmal die Robocopy-Zeile, die bei Dir funktionieren würde incl. Parameter /L:


robocopy.exe "D:\Programme\CA\BrightStor ARCserve Backup\LOG\cas_user_logs\caroot" "D:\Programme\CA\BrightStor ARCserve Backup\LOG\cas_user_logs\smtp" *.LOG /MAXAGE:4 /L
[/Code]

- oder, weil das so kein Schwein lesen kann.

[Code]
Set "Userlogs=-D:\Programme\CA\BrightStor ARCserve Backup\LOG\cas_user_logs"
robocopy.exe "%userlogs%\caroot" "%userlogs%\smtp" J*.log /maxage:4 /L
[/Code]

 

Grüße

Biber

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...