kayes73
Goto Top

Scriptvereinfachung Kopierbefehl per batch

Hallo Zusammen!

Ich habe ein Frage und versuche mal die Rahmenbedingungen zu erklären:

Ich nutze einen Aussendienst PC und erfasse Daten unter folgendem Datenpfad:

F:\Daten\Dokumente\Aussendienst\%jjjj%\%projekt%\Berechnungen\


%jjjj% beschreibt den Jahrgang und %projekt% den Projektnamen in dem Bespielformat 17D123.

Abends werden die Daten auf den Server übertragen in den Pfad:

\\ADPC\Daten\20%projekt%\Dokument-Explorer\Berechnungen\*


Zu diesem Ablauf habe ich folgende bat:

@echo off
CLS

:KOPIEREN
Color E
ECHO.
	ECHO UEBERTRAGUNG PANASONIC AUF PC
ECHO.
	set /P jjjj= Jahrgang (xxxx)? 
        set /P projekt= Projekt (xxDxxx)? 

ECHO.
xcopy "\\ADPC\Daten\20%projekt%\Dokument-Explorer\Berechnungen\*" "F:\Daten\Dokumente\Aussendienst\%jjjj%\%projekt%\Berechnungen\"  
ECHO.
ECHO Datenuebertragung beendet
ECHO.
set /P x= (1) weiteres Projekt  oder oder (2) Ende? 
		if /I "%x%"=="1" goto KOPIEREN  
		if /I "%x%"=="2" goto ende  
		echo Fehler: [%w%]        
goto ende

:ende

Ich möchte den Vorgang des Eingebens vereinfachen und den Jahrgang weglassen, also als einzige Variable 17D123 eingeben da dort ja quasi schon der Jahrgang enthalten ist.

Wie bekomme ich das hin?

Content-ID: 345211

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

Ausgedruckt am: 19.11.2024 um 15:11 Uhr

em-pie
Lösung em-pie 02.08.2017 um 20:15:29 Uhr
Goto Top
Moin,

so sollte es klappen (beachte Zeile 09, 11 und entferne das ECHO in Zeile 14)
@echo off
CLS

:KOPIEREN
Color E
ECHO.
	ECHO UEBERTRAGUNG PANASONIC AUF PC
ECHO.
	REM set /P jjjj= Jahrgang (xxxx)? 
        set /P projekt= Projekt (xxDxxx)? 
	set jjjj=20%projekt:~0,2%

ECHO.
ECHO xcopy "\\ADPC\Daten\20%projekt%\Dokument-Explorer\Berechnungen\*" "F:\Daten\Dokumente\Aussendienst\%jjjj%\%projekt%\Berechnungen\"  
ECHO.
ECHO Datenuebertragung beendet
ECHO.
set /P x= (1) weiteres Projekt  oder oder (2) Ende? 
		if /I "%x%"=="1" goto KOPIEREN  
		if /I "%x%"=="2" goto ende  
		echo Fehler: [%w%]        
goto ende

:ende

Ich würde dir aber ROBOCOPY empfehlen.
Den kann man so parametrisieren, dass er alles Daten inkrementell sichert, dann muss keine User-Interaktion mehr erfolgen und es wird auch nicht vergessen, irgendwelche Projekte zu sichern....

Gruß
em-pie
rubberman
rubberman 02.08.2017 aktualisiert um 20:19:29 Uhr
Goto Top
Zitat von @kayes73:
da dort ja quasi schon der Jahrgang enthalten ist.

Ist er das? Ich rate mal.
set "jjjj=20%projekt:~,2%"  

Grüße
rubberman

/EDIT: Na dann haben @em-pie und ich das zumindest genauso verstanden.
BassFishFox
BassFishFox 02.08.2017 um 20:32:53 Uhr
Goto Top
Hallo,

Mal so als Idee.

Ich wuerde die Verzeichnisstruktur so anpassen, dass eine Synchronisation mit z.B. Robocopy automatisiert laufen kann. Dann ist nichts mehr zu tippen und es wird auch nichts vergessen.

BFF
kayes73
kayes73 02.08.2017 um 20:44:23 Uhr
Goto Top
Vielen Dank em-pie!

Das klappt perfekt.

Zu dem robocopy Vorschlag: Inkrementell sichern ist gut aber die Interaktion ist genau so gewollt.
BassFishFox
BassFishFox 04.08.2017 um 01:53:16 Uhr
Goto Top
Hallo,

Das passt so perfekt, dass Du Dir einen grafischen Ersatz im AutoIT-Forum hast geben lassen. face-wink

https://autoit.de/index.php/Thread/85403-Kopierhilfe/?postID=684106#post ...

BFF
kayes73
kayes73 05.08.2017 um 17:14:56 Uhr
Goto Top
Naja,....

halt "Next Level" face-wink

das bat script hat mich weiter gebracht und das autoit script hat mich in dem anderen Bereich weiter gebracht. Nachdem ich das Grundgerüst hatte gings mit den eigenen Weiterentwicklungen weiter....