Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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
GELÖST

copy Befehl läuft unregelmäßig, move und ren laufen regelmäßig

Frage Entwicklung Batch & Shell

Mitglied: KeiosID

KeiosID (Level 1) - Jetzt verbinden

09.01.2009, aktualisiert 15:03 Uhr, 4550 Aufrufe, 4 Kommentare

Hallo,

bisher bin ich auf den Fehler nicht gestoßen,
da er nicht relevant war. Nun ist eine Systemerweiterung dazugekommen und ich verliere Dateien.

Zunächst einmal mein Script, dann meine Problematik:
rem Versandunterlagen in Print und save Verzeichnis kopieren/Verschieben
@echo on

set counter=0
set maxcount=10
:start

rem Etiketten und Chechire
set "Pfad=N:\AboOut00*.*"
for /f "delims=" %%i in ('echo %Pfad%') do set "varib=%%~nxi"
copy N:\%varib% C:\Streamserve\save\Adware\raw
copy N:\%varib% C:\Streamserve\Datamatrix\Versand
ren N:\"%varib%" "DMC_%varib%"
move N:\DMC_%varib% C:\Streamserve\spool04\

rem Palettenleitzettel
set "Pfad=N:\AboZePlt*.*"
for /f "delims=" %%i in ('echo %Pfad%') do set "varib=%%~nxi"
copy N:\%varib% C:\Streamserve\save\Adware\raw
move N:\%varib% C:\Streamserve\Print\Adware\Versandunterlagen

rem Bundzettel
set "Pfad=N:\AboZeBnd*.*"
for /f "delims=" %%i in ('echo %Pfad%') do set "varib=%%~nxi"
copy N:\%varib% C:\Streamserve\save\Adware\raw
move N:\%varib% C:\Streamserve\Print\Adware\Versandunterlagen

set /a counter=%counter% + 1
if "%counter%" NEQ "%maxcount%" goto start

exit
Meine Problematik:

Dieses Script wird jede Minute via Schedule Task aufgerufen.

Mein Quellsystem schreibt unter bestimmten Umständen Dateien fortlaufend.

Ist dies der Fall, funktioniert der Copy befehl nur teilweise, das heißt genauer:
solange eine Datei länger im Zugriff des dateierzeugenden Systems ist, wird diese nicht kopiert.
Am Ende wird diese allerdings umbenant und verschoben. Mir fehlen somit die Kopien im Zielordner.
Das tritt am Häufigsten bei den Etiketten und Chechhiren auf, da hier die größten Dateien erzeugt werden (bis zu 70MB).


Gibt es eine Lösung, wie man diese Kopien auch erzwingen kann?
Kann hier xcopy oder robocopy helfen? Habe im Forum nichts exaktes zu dieser Problematik gefunden.

Vielen Dank im Voraus

Gruß

KeiosID
Mitglied: Biber
09.01.2009 um 17:36 Uhr
Moin KeiosID,

glaube ich nicht, dass hier xcopy oder Robocopy helfen können.
Ich würd hier die Strategie wechseln und das Umbenennen/Moven nur dann machen, wenn das COPY erfolgreich war.
Wenn die Dateien nicht kopiert werden konnten, weil halt noch nicht fertig geschrieben, dann kommen die doch in einer späteren runde dran.

Also:
01.
.... 
02.
.... 
03.
copy N:\%varib% C:\Streamserve\save\Adware\raw 2> nul || goto :SkipRenameAndMove 
04.
copy N:\%varib% C:\Streamserve\Datamatrix\Versand 2>nul || goto :SkipRenameAndMove 
05.
ren N:\"%varib%" "DMC_%varib%" 
06.
move N:\DMC_%varib% C:\Streamserve\spool04\ 
07.
:SkipRenameAndMove 
08.
....
Grüße
Biber
Bitte warten ..
Mitglied: KeiosID
12.01.2009 um 08:58 Uhr
Hi Biber,

danke für die Lösung.

Ich habe mir inzwischen eine Workaround gebastelt, der folgendermasen aussieht:


rem Etiketten und Chechire
set "Pfad=N:\AboOut00*.*"
for /f "delims=" %%i in ('echo %Pfad%') do set "varib=%%~nxi"
copy N:\%varib% C:\Streamserve\save\Adware\raw
if not exist C:\Streamserve\save\Adware\raw\%varib% goto start
copy N:\%varib% C:\Streamserve\Datamatrix\Versand
ren N:\"%varib%" "DMC_%varib%"
move N:\DMC_%varib% C:\Streamserve\spool04\


Allerdings sieht Deine Lösung mal wieder irgendwie eleganter aus.

Könntgest Du mir noch die Funktionsweise von

2> nul || goto :SkipRenameAndMove

erläutern?

Danke

Grüße

Keios
Bitte warten ..
Mitglied: Biber
12.01.2009 um 09:12 Uhr
Moin KeiosID,

der von Dir gefundene Workaround wäre auch mein Plan B gewesen.
Zur Erläuterung von
copy N:\%varib% C:\Streamserve\Datamatrix\Versand 2>nul ||
Falls der COPY-Befehl einen Fehler hat (also nicht kopieren kann, z.B. weil Datei in Benutzung), dann passieren 2 Dinge
  • auf STDERR/Ausgabekanal 2 wird eine Fehlermeldung geschrieben "Datei kann nicht...". Diese entsorge ich mit 2>nul
  • und zweitens wird der ERRORLEVEL-Wert auf ungleich 0 gesetzt. Das prüfe ich mit "||". Dieses "||" bedeutet also in epischer Breite: "Wenn es einen Fehler gegeben hat, dann tue..."

Grüße
Biber
Bitte warten ..
Mitglied: KeiosID
12.01.2009 um 09:15 Uhr
Hi Biber,

vielen Dank.

Grüße

KeiosID
Bitte warten ..
Ähnliche Inhalte
Windows Netzwerk
gelöst Copy Befehl in einer batch funktioniert nicht. (3)

Frage von Pauli-H zum Thema Windows Netzwerk ...

Batch & Shell
gelöst Batch mit Copy auf SBS2008 funktioniert nicht, auf Client geht es (9)

Frage von CyCOtt zum Thema Batch & Shell ...

LAN, WAN, Wireless
Kleines Netzwerkproblem mit unregelmäßigen Internetaussetzern (6)

Frage von Yannosch zum Thema LAN, WAN, Wireless ...

Netzwerkmanagement
Verliere Netzlaufwerke in unregelmäßigen abständen (11)

Frage von malkie zum Thema Netzwerkmanagement ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(6)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Voice over IP
DeutschlandLAN IP Voice Data M Premium, Erfahrung mit Faxgeräte? (17)

Frage von liquidbase zum Thema Voice over IP ...

Windows 10
Windows 10 Ordnerfreigabe (15)

Frage von Xaero1982 zum Thema Windows 10 ...

Monitoring
Netzwerk-Monitoring Software (15)

Frage von Ghost108 zum Thema Monitoring ...