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

Kopieren via BAT-Datei und Geplanten Task

Frage Entwicklung Batch & Shell

Mitglied: snowhill

snowhill (Level 1) - Jetzt verbinden

23.10.2007, aktualisiert 24.10.2007, 10284 Aufrufe, 4 Kommentare

Folgendes Problem:

Über Nacht läuft ein Prozess der Daten auf ein Laufwerk bereit stellt. Dies geht leider nicht automatisch auf ein anderes da es über Unix läuft.

Jetzt zu meinem Problem:
- Die Daten befinden sich im Quellserver wobei lediglich die Auftragsnr sich verändert. z.b. 5123456_0001_0002
- Ein Auftrag ist komplett wenn die Datei 5123456_0001_0002.nwp vorhanden ist - erst dann dürfen die Dateien kopiert werden

Wie schaffe ich es das mir eine BAT-Datei die z.b. durch einen geplanten Task alle x Sekunden ausgeführt wird die unten angefügte copy.bat erstellt und die Auftragsnr. anhand der *.nwp - Datei an allen nötigen Stellen in der Datei richtig einfügt?

01.
#################### copy.bat ######################### 
02.
rem Quellserver 
03.
set SRVPATHSOURCE=\\server1\prod\auftrag 
04.
rem Zielserver 
05.
set SRVPATHDEST=\\server2\prod\Data 
06.
 
07.
robocopy %SRVPATHSOURCE%\auftrag\5123456_0001_0002\ %SRVPATHDEST%\5123456_0001_0002\ *.* /E /ZB 
08.
robocopy %SRVPATHSOURCE%\auftrags_cd\konst\ %SRVPATHDEST%\konst\ *.* /E /ZB 
09.
robocopy %SRVPATHSOURCE%\auftrags_cd\TRANSAS\ %SRVPATHDEST%\TRANSAS\ *.* /E /ZB 
10.
robocopy %SRVPATHSOURCE%\merge\ %SRVPATHDEST%\merge\ 5123456_0001_0002.txt /E /ZB 
11.
 
12.
 
13.
robocopy %SRVPATHSOURCE%\order\ %SRVPATHDEST%\order\ 5123456_0001_0002.nwp /E /ZB 
14.
###################################################
Vielen Dank für die Hilfe
Mitglied: Biber
23.10.2007 um 19:11 Uhr
Moin snowhill,

beim besten Willen... kann es sein, dass bei Euch in der Firma noch gewisse Potentiale zur Prozessausgestaltung und zur Ablaufoptimierung gegeben sind?

Es macht auf mich nicht den Eindruck, dass sich dort mit einem Batch große Schneisen in gewucherte Datenverknotungen schlagen lassen.

Dennoch würde ich auch dabei natürlich trotzdem helfen, aber ich hab es erstens nicht verstanden und kann zweitens auch nicht nachvollziehen, was der Robocopy-Batch da treibt.
Bitte nochmal langsam:
  • die Daten liegen JETZT auf einer Windows-Maschin'?
  • in einer Verzeichnisstruktur "\\server1\prod\auftrag" ?
  • darunter geht es mit den Verzeichnissen "auftrag\5123456_0001_0002\", "auftrags_Cd" (mit 2 Subdirs), "merge" weiter?
  • wo liegt die *.nwp??
  • bleiben die Original-Dateien zusätzlich auf dem Quellserver, werden die gelöscht, archiviert, umbenannt?
  • was soll wie zu was zusammengesetzt werden, wenn die *.nwp-Datei da ist?

Sorry, ich habe Deine Beschreibung wirklich nicht ausreichend zum Drauflostippseln verstanden.

Grüße
Biber
Bitte warten ..
Mitglied: snowhill
23.10.2007 um 20:51 Uhr
1. Ja - es gibt noch etliches Potentiale zur Prozessausgestaltung und zur Ablaufoptimierung aber wenn der Chef Unix will - die CD-Vervielfältigungsmaschine aber nur Windows versteht kann man wenig machen. Deshalb diese komplizierte Kopiererei!

2. Die Daten liegen auf Unix sind aber über Samba von Windows aus zu erreichen

Quellserver
\\server1\prod\auftrag

Dort liegt auch die nwp-Datei im Ordner "order"

3. Die Original-Dateien werden jede Nacht automatisch erstellt und gelöscht.

4. Es soll so sein:

Gegeben ist:
Wenn der Auftrag komplett ist, erstellt ein Shellscript eine nwp-Datei. Diese Datei erkennt die CD-Vervielfältigungsmaschine und kopiert nun alle Daten auf CD auf die diese NWP-Datei hinweist. (Auftrag, merge, auftrags_cd, ...). Aber alles auf UNIX - was die Maschine nicht mag.

Ziel ist:
Das die Daten auf einen Windows-Fileserver kopiert werden. Aber dieses Kopieren macht der robocopy-batch. Das funktioniert - aber nur Händisch wenn ich die Auftragsnummern manuell eingebe. Er darf auch nicht einfach blind alles kopieren weil es erst klappt wenn der Auftrag komplett vorhanden ist. die NWP-Datei wird UNIX-seitig als letztes erstellt, d.h. das könnte das Startsignal für die Prozedur sein.

5. Die NWP-Datei heißt immer 5123456_0001_0002.nwp (nur die Nr. ist anders) und die veränderte Zahl könnte dann in die copy.bat eingefügt werden.

Vielen Dank das du dir überhaupt die mühe machst

Grüße

snowhill
Bitte warten ..
Mitglied: Biber
23.10.2007 um 21:33 Uhr
Also gut, snowhill,
versuchen wir uns mal heranzutasten...

Wenn es wirklich so ist, dass der Name der *.nwp-Datei wirklich die einzige Variable in dem ganzen *nach-Worten-ring*....Ablauf ist, dann sehe ich eigentlich nur noch zwei Randbedingungen, die ich im Auge behalten würde:
  • dieses angedeutete "alle x Sekunden über Taskmanager starten"... ist zwar das geringste Problem, aber: ist es nötig und sinnvoll? Ist eine *.nwp-Datei (mit allem, was da dranhängt) auch ein CD-Vervielfältigungsauftrag, der sofort weitere Prozessschritte auflöst? Oder wird eher am Ende eines 6-Stundenzeitraums oder so alles aufgelaufene eingesammelt und dann weiterverarbeitet?
  • und das zweite - irgendwie sollte man/frau ja sicherstellen, dass die Datenklumpen, die der Robocopy schon einmal erfolgreich umgeschaufelt hat beim nächsten Programmstart nicht noch einmal angefasst werden. Ich würde also den Robo-Krams noch um eine Zeile erweitern, die den Namen der *.nwp-Datei an eine Logdatei dranhängt. Und kopieren eben nur, wenn die auf dem Server "gefundene" *.nwp-Datei dort nicht erwähnt wird.

Also bleiben doch nur
  • das Finden einer *.nwp-Datei auf \\server1\prod\auftrag
  • den Namen davon (ohne .nwp) als Variable weiterverwenden im bisherigen Robobatch.

Wenn wir den als Basis nehmen (und davon ausgehen, den starten wir alle x Sekunden über den Taskplaner:
01.
::---snipp nwpSauger.bat 
02.
@echo off & setlocal 
03.
 
04.
#################### copy.bat ######################### 
05.
rem Quellserver 
06.
set SRVPATHSOURCE=\\server1\prod\auftrag 
07.
rem Zielserver 
08.
set SRVPATHDEST=\\server2\prod\Data 
09.
for /f "delims=" %%i in ('dir %SRVPATHSOURCE%\*.nwp /b /s') do call :ProcessNWP "%%~ni" 
10.
goto :eof 
11.
 
12.
:ProcessNWP 
13.
find "%~1" \\irgeneinShare\AllekopiertenNWPs.log >nul && goto :eof 
14.
robocopy %SRVPATHSOURCE%\auftrag\%~1\ %SRVPATHDEST%\%~1\ *.* /E /ZB 
15.
robocopy %SRVPATHSOURCE%\auftrags_cd\konst\ %SRVPATHDEST%\konst\ *.* /E /ZB 
16.
robocopy %SRVPATHSOURCE%\auftrags_cd\TRANSAS\ %SRVPATHDEST%\TRANSAS\ *.* /E /ZB 
17.
robocopy %SRVPATHSOURCE%\merge\ %SRVPATHDEST%\merge\ %~1.txt /E /ZB 
18.
 
19.
 
20.
robocopy %SRVPATHSOURCE%\order\ %SRVPATHDEST%\order\ %~1.nwp /E /ZB 
21.
################################################### 
22.
if Not Errorlevel 1 echo %~1>>\\irgeneinShare\AllekopiertenNWPs.log
So wäre der erste Wurf.

Aber sinnvoller als ein einsamer Batch wäre es eventuell, mit deinem Cheffe mal ein Becks zu trinken...

Gruß

Biber
Bitte warten ..
Mitglied: snowhill
24.10.2007 um 15:09 Uhr
Du bist ein Held!!!

Sehr gut Programmiert und beschrieben.
Funktioniert alles wie ich mir das vorstelle.

Vielen Dank.

snowhill
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows Server
gelöst Sichtbares Ausführen einer BAT-Datei mittels GPOs (10)

Frage von DasWombat1993 zum Thema Windows Server ...

Windows 7
gelöst Bat Datei erstellen für Homeroot (2)

Frage von leon22 zum Thema Windows 7 ...

Batch & Shell
Ordner erstellen ll Datei hinein kopieren (1)

Frage von heyalice zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (27)

Frage von patz223 zum Thema Windows Userverwaltung ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (20)

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

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...