Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Dateien kopieren per Batch Abfrage auf Zugriff

Frage Microsoft

Mitglied: nachtfuchs

nachtfuchs (Level 1) - Jetzt verbinden

26.08.2008, aktualisiert 14:33 Uhr, 5142 Aufrufe, 5 Kommentare

Hallo zusammen,

ich möchte gerne regelmäßig Dateien aus einem Verzeichnis in ein anderes Verzeichnis kopieren.

Das Problem ist aber, dass diese Dateien evtl. zum Kopierzeitpunkt noch aufgebaut werden.

Gibt es eine Abfrage ob eine Datei von anderen Prozessen verwendet wird?
Sollte alles per Batch oder Script möglich sein,

Danke
Mitglied: miniversum
26.08.2008 um 12:29 Uhr
Das einzige was mir da einfällt wäre es den Zeitpunkt der letzten Änderung zu kontrollieren, dann etwas zu warten und danach wieder. Ist der letzte Änderungszeitpunkt der gleiche wird sie nicht mehr verändert.
Das ganze würde dann ungefär so aussehen:
01.
:loop 
02.
for /F \"tokens=1,2 delims= \" %%f in (\'dir /a-D /Tw /-C \"Datei.txt\"^|find \".\"\') do Set \"change1=%%f%%g\" 
03.
ping -n 1 localhost 
04.
for /F \"tokens=1,2 delims= \" %%f in (\'dir /a-D /Tw /-C \"Datei.txt\"^|find \".\"\') do Set \"change2=%%f%%g\" 
05.
if change2 neq change1 goto:loop 
06.
copy Datei.txt
Bitte warten ..
Mitglied: nachtfuchs
26.08.2008 um 12:44 Uhr
Es sind ja mehrere Dateien.
Alternative: Da der Dateiaufbau maximal 20 Sekunden dauert könnte man doch nur Dateien kopieren, die älter als eine Minute sind?
Bitte warten ..
Mitglied: miniversum
26.08.2008 um 12:59 Uhr
Wenn er mehrere Dateien sind an könntest du das Ganze so erweitern:
01.
for /F "delims=" %%f in ('dir /b') do call loop "%%~f" 
02.
goto:eof 
03.
 
04.
:loop 
05.
Set "change1=" 
06.
Set "change2=" 
07.
for /F "tokens=1,2 delims= " %%f in ('dir /a-D /Tw /-C "%~1"^|find "."') do Set "change1=%%f%%g" 
08.
ping -n 1 localhost 
09.
for /F "tokens=1,2 delims= " %%f in ('dir /a-D /Tw /-C "%~1"^|find "."') do Set "change2=%%f%%g" 
10.
if change2 neq change1 goto:loop 
11.
copy "%~1" 
12.
goto:eof
Willst du weniger Prüfungen haben kannst du auch dort noch eien Wartezeit einfügen. indem du zwischen Zeile 9 und 10 noch folgende einfügst:
ping -n 5 localhost
um 5 sekunden zu warten.


Mit der Änderungszeit zu arbeiten und dann immer eine Minute zu warten wäre zwar auch möglich, aber aufwendig in batch. Um mit Zeiten zu arbeiten bietet sich dan eher vbs an.
Bitte warten ..
Mitglied: slubitz76
26.08.2008 um 13:28 Uhr
Hi,

für sowas bietet sich AutoIt an. Dort kannst du via "FileGetTime" herausfinden, wann das file z.B. das letzte mal "Accessed" wurde.

Grüße,
Stefan
Bitte warten ..
Mitglied: bastla
26.08.2008 um 14:33 Uhr
Hallo nachtfuchs!

Du könntest auch
01.
xcopy /c /d /y "D:\Quelle\*.*" "D:\Ziel\"
versuchen.

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Abfrage Vergleiche mit Variable goto (4)

Frage von Zunaras zum Thema Batch & Shell ...

Batch & Shell
Dateien kopieren die nicht mehr verändert werden? (10)

Frage von pbelcl zum Thema Batch & Shell ...

Batch & Shell
gelöst Mehrere PDF-Dateien per Batch zusammenfügen (1)

Frage von Grimmli zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...