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-Key: 345211

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

Printed on: April 20, 2024 at 02:04 o'clock

Member: em-pie
Solution em-pie Aug 02, 2017 at 18:15:29 (UTC)
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
Member: rubberman
rubberman Aug 02, 2017 updated at 18:19:29 (UTC)
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.
Member: BassFishFox
BassFishFox Aug 02, 2017 at 18:32:53 (UTC)
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
Member: kayes73
kayes73 Aug 02, 2017 at 18:44:23 (UTC)
Goto Top
Vielen Dank em-pie!

Das klappt perfekt.

Zu dem robocopy Vorschlag: Inkrementell sichern ist gut aber die Interaktion ist genau so gewollt.
Member: BassFishFox
BassFishFox Aug 03, 2017 at 23:53:16 (UTC)
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
Member: kayes73
kayes73 Aug 05, 2017 at 15:14:56 (UTC)
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....