dubbl
Goto Top

Dateien vom aktuellen Tag mit Uhrzeit kopieren

Hallo ich muss einen "cmd job" erstellen der aus einer großen Menge nur die Dateien vom aktuellen Tag und von 4 Uhr bis 6 Uhr kopiert.
Kann mir jeman helfen.
Vielen Dank für euere Antworten

Content-Key: 47003

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

Printed on: April 23, 2024 at 08:04 o'clock

Member: Metzger-MCP
Metzger-MCP Dec 18, 2006 at 14:36:44 (UTC)
Goto Top
Das ist alles machbar.

Was soll genau gemacht werden, woher und wohin kommen die Datein ...
wenn du alles Postest oder der PM schreibst, dann kann ich dir ebend
eine Batch schreiben ...

MFG Metzger
Member: Dubbl
Dubbl Dec 18, 2006 at 14:47:56 (UTC)
Goto Top
Schon mal vielen Dank.
Die Dateien sollen von einen lokalen Verzeichniss D:\Test\*.txt auf ein Netzlaufwerk das vorher mit seinen net use Befehl verbunden wird kopiert werden z.B. H:\Neuen_Daten\.
Die Optionen sind:
Es sollen nur Dateinen vom aktuellen Tag und nur von 4 Uhr bis 6 Uhr.
Vielen Dank
Member: Biber
Biber Dec 18, 2006 at 15:46:48 (UTC)
Goto Top
Moin Dubbl,

Ungetestete Skizze:
Vom CMD-Prompt runtergetippt:
for %i in ("D:\test\*.txt") do @for /f "tokens=1,2" %a in ("%~ti") do @if "%date%" EQU "%a" if "%b" GEQ "04:00" if "%b" LSS "06:00" copy "%i" "H:\Neuen\daten\"  

Als Batch:
@echo off & Setlocal
Set "QuellDirMask=D:\test\*.txt"  
@for %%i in ("%quelldirMask%") do (  
      for /f "tokens=1,2" %a in ("%%~ti") do (  
        @if "%date%" EQU "%%a" if "%%b" GEQ "04:00" if "%%b" LSS "06:00" copy "%%i" "H:\Neuen\daten\"  
      )
)

HTH
Biber
Member: bastla
bastla Dec 18, 2006 at 18:11:35 (UTC)
Goto Top
Hallo Dubbl!

Bei Biber's Batch ist irgendwo hinter Bremen (und vor dem ersten %a) ein Prozentzeichen auf der Strecke geblieben face-wink - kannst aber gerne eines von meinen haben:
@echo off & Setlocal
Set "QuellDirMask=D:\test\*.txt"  
@for %%i in ("%quelldirMask%") do (  
      for /f "tokens=1,2" %%a in ("%%~ti") do (  
        @if "%date%" EQU "%%a" if "%%b" GEQ "04:00" if "%%b" LSS "06:00" copy "%%i" "H:\Neuen\daten\"  
      )
)
Wenn Du dem copy noch ein /y spendierst, werden eventuell bereits vorhandene Dateien auch kommentarlos überschrieben.

Grüße
bastla
Member: Biber
Biber Dec 18, 2006 at 18:29:46 (UTC)
Goto Top
Och menno, bastla,

gestern hatte ich eins zuviel mit in einen Batch gepackt, und da wollte der Frager es auch nicht haben...
...hier kann man/frau es aber auch keinem Recht machen *grmpfl*..

Ich hätte doch Bäcker werden sollen... oder Postbeamter...... ich hasse Montage...

Okay, im nächten Jahr poste ich nur noch getestete Bätche und fahre nur noch 50 km/h im Stadtverkehr und fluche nur noch in dreizehn Sprachen...

Kleinkrämer! *pfffffffffff

face-wink
Biber
Member: bastla
bastla Dec 18, 2006 at 18:50:41 (UTC)
Goto Top
@Biber
... und fluche nur noch in dreizehn Sprachen...
... aber sicher auch schon in PowerShellish, nich ja?

Grüße
bastla

P.S.: Da Du ja heute im Forum Weihnachtsputz machst, habe ich für das eine oder andere weggeputzte Prozenterl vollstes Verständnis. face-wink
Member: Biber
Biber Dec 18, 2006 at 20:31:38 (UTC)
Goto Top
So,
um zu zeigen, dass ich es ernst meine mit meinen Vorsätzen, jetzt mal ein getesteter -sozusagen 100%iger- Oneliner:
::CopyVonHeute04-06.bat
@for %%i in ("D:\test\*.txt") do @(  
      for /f "tokens=1-3 delims=: " %%a in ("%%~ti") do @(  
        @if "%date%" EQU "%%a" if "%%b:%%c" GEQ "04:00" if "%%b:%%c" LSS "10:00" @echo copy "%%i" "H:\Neuen\daten\%%~ni_%date:.=%_%%b%%c%%~xi"  
      )
)

Und der Test (die Zieldatei hat das Format "AlterName_TTMMJJJJ_hhmm.AlteExt"):
>f:\Administrator\CopyVonHeute04-06.bat
copy "D:\test\AEAA0700.txt" "H:\Neuen\daten\AEAA0700_18122006_0513.txt"  

...wenn ich jetzt schon anfange, meine Prozente zu verlieren, dann fühl ich mich alt, so alt...*seufz*
Member: Dubbl
Dubbl Dec 19, 2006 at 07:37:22 (UTC)
Goto Top
Tausend Dank schon mal am alle und das Ihr so oft gepostet habt. ja ich habe vergessen das ich ein CMD Skript benötige.
Wenn ich dein CMD Skript laufen lasse, bekomme ich folgende Fehlermeldung

"\DBDIRECT\STA\*.sta") do @for /f "tokens" ist syntaktisch an dieser Stelle nich
t verarbeitbar.
C:\Skripts>for \test\*.txt") do @for /f "tokens=1,2" ~ti") do @if "Di 19
.12.2006" EQU "b" GEQ "06:00" if "00" copy "\Neuen\daten\"
Member: Biber
Biber Dec 21, 2006 at 12:36:51 (UTC)
Goto Top
Sorry, dubbl,

ist bei mir nicht reproduzierbar.

Falls jemand anderes diesen Fehler reproduzieren kann, bitte ich um Posten näherer Informationen.

Gruß
Biber