kayes73
Goto Top

Kopieren per bat läuft ins Leere

Hallo zusammen!

ich habe eine bat erstellt mit dem xcopy Befehl

xcopy /l /e "F:\Geosoft\Georg.net\Daten\Dokumente\%jjjj%\%projekt%\Berechnungen\*" 192.168.0.134\C$\Daten\Außendienst\%jjjj%\%projekt%\  

Der Kopiervorgang hat in einem Testlauf gesagt:

13 Datei(en) kopiert

Im eigentlichen Zielverzeichnis tauchen die Dateien nicht auf und auch sonst kann ich die Daten nirgendwo finden.

Die Konstellation ist folgende:

Quelle (Verzeichnis auf Server)

"F:\Geosoft\Georg.net\Daten\Dokumente\%jjjj%\%projekt%\Berechnungen\*"

Ziel (Außendienstrechner, auf einem anderen Client als Netzlaufwerk eingebunden)

192.168.0.134\C$\Daten\Außendienst\%jjjj%\%projekt%\
oder
O:\Daten\Außendienst\%jjjj%\%projekt%\


Aus dem Quell Verzeichnis sollen alle Dateien, aber KEINE Ordner kopiert werden und im Zielverzeichnis der Ordner %projekt% angelegt werden, wenn er noch nicht vorhanden ist.

Ich weiß, für das Ausklammern der Verzeichnisse fehlt auch noch ein Parameter, aber ich möchte gerne erst das generelle Kopieren hinkriegen...


Hier mal die komplette bat:

@echo off
:start
CLS
COLOR C
ECHO.
ECHO ==================================================================== 
ECHO Datenuebertragung
ECHO.
ECHO Bei vorhandenen Daten erfolgt eine Abfrage vor dem überschreiben!!! 
ECHO.
ECHO    (1) von PC auf COLLIBRI
ECHO    (2) von COLLIBRI auf PC
ECHO    (3) Ende
ECHO ====================================================================	      
set auswahl=
set /p auswahl="Bitte gebe eine Nummer ein und bestaetige mit Enter: "  
if "%auswahl%" == "1" goto PCARMOR  
if "%auswahl%" == "2" goto ARMORPC  
if "%auswahl%" == "3" goto ende  
goto start


:PCARMOR
CLS
Color A
ECHO.		      
ECHO ==================================================
ECHO.
ECHO        UEBERTRAGUNG PC AUF COLLIBRI
ECHO.
ECHO ==================================================
	set /P jjjj= Jahrgang? 
ECHO.
	set /P projekt= Projekt? 
ECHO.
xcopy /l /e "F:\Geosoft\Georg.net\Daten\Dokumente\%jjjj%\%projekt%\Berechnungen\*" 192.168.0.134\C$\Daten\Außendienst\%jjjj%\%projekt%\  
ECHO.
ECHO Datenuebertragung beendet
ECHO.
ECHO ====================================================
set /P var= (1) weiteres Projekt  oder oder (2) Ende? 
		if /I "%var%"=="1" goto PCARMOR  
		if /I "%var%"=="2" goto ende  
goto ende		
ECHO.


:ARMORPC
CLS
Color E
ECHO.		      
ECHO ==================================================
ECHO.
ECHO        UEBERTRAGUNG COLLIBRI auf PC
ECHO.
ECHO ==================================================
	set /P jjjj= Jahrgang? 
ECHO.
	set /P projekt= Projekt? 
ECHO.
xcopy /l /e 192.168.0.134\C$\Daten\Außendienst\%jjjj%\%projekt%\* "F:\Geosoft\Georg.net\Daten\Dokumente\%jjjj%\%projekt%\Berechnungen\"  
ECHO.
ECHO Datenuebertragung beendet
ECHO.
ECHO ====================================================
set /P var= (1) weiteres Projekt  oder oder (2) Ende? 
		if /I "%var%"=="1" goto ARMORPC  
		if /I "%var%"=="2" goto ende  
goto ende		
ECHO.
:ende

Content-Key: 276743

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

Printed on: April 27, 2024 at 01:04 o'clock

Member: holli.zimmi
holli.zimmi Jul 08, 2015 at 12:18:51 (UTC)
Goto Top
Hi,

das Verzeichnis %jjj% ist das Problem denke ich!
Es könnte sein das da ein Parameter erwartet wird ...

Gruß

Holli
Member: kayes73
kayes73 Jul 08, 2015 at 12:34:44 (UTC)
Goto Top
Aber die Variablen werden doch vorher abgefragt!? %jjjj% ist bekannt.
Member: holli.zimmi
holli.zimmi Jul 08, 2015 at 12:38:06 (UTC)
Goto Top
Hi,

ich habe es vorher getestet. Das %jjj% kann auch ein Verz. sein! Dies kann man in der CMD anlegen.
Meine Vermutung liegt daher, das der PC eher ein Verz. %jjj% anlegt, an statt das Jahr "19xx" oder "20xx"!

Gruß

Holli
Member: AndreasHoster
AndreasHoster Jul 08, 2015 at 12:46:50 (UTC)
Goto Top
Was auf den ersten Blick auffällt:
UNC Pfade sollten mit \\ anfangen (also \\192.168.0.134\....) und man sollte Pfade mit Variablen, die Leerzeichen enthalten können mit " abgrenzen.

Ansonsten:
Mit @echo off alle Ausgaben unterdrücken ist bei einer Fehlersuche nicht der optimale Weg.
Member: kayes73
kayes73 Jul 08, 2015 at 12:49:15 (UTC)
Goto Top
Ja, das %jjjj% muss ein Verzeichnis sein. In meinem Test auf ein und demselben Rechner, auf verschiedenen Partitionen hat es einwandfrei geklappt.
Stehe jetzt auch etwas auf dem Schlauch, wie du das meinst?
Member: kayes73
kayes73 Jul 08, 2015 at 13:15:01 (UTC)
Goto Top
xcopy /l /e "F:\Geosoft\Georg.net\Daten\Dokumente\%jjjj%\%projekt%\Berechnungen\*" "\\192.168.0.134\C$\Daten\Außendienst\%jjjj%\%projekt%\"


-> Ungültige Laufwerksangabe

könnte das ß in Außendienst der Verursacher des Problems sein?
Member: holli.zimmi
Solution holli.zimmi Jul 08, 2015, updated at Jul 09, 2015 at 08:08:05 (UTC)
Goto Top
HI

set /P jjjj= Jahrgang?

Was soll das eigentlich bewirken?

Gruß

Holli
Member: kayes73
kayes73 Jul 08, 2015 at 13:26:02 (UTC)
Goto Top
Ich möchte eine Jahrgangsvariable haben. In Kombination mit %projekt%. Diese 2 Variablen sollen bewirken das z.B. %jjj% = 2015 und %projekt% = 15D262 folgendes auslösen

Dateien die unter dem Verzeichnis

F:\Geosoft\Georg.net\Daten\Dokumente\2015\15D262\Berechnungen

stehen, sollen in

\\192.168.0.134\C$\Daten\Außendienst\2015\15D262\

kopiert werden. Und wenn dieser Pfad (hier das Projekt, der Jahrgang besteht bereits) noch nicht vorhanden ist, soll er angelegt werden.

Mir ist klar, das ich den Jahrgang auch aus dem Projektnamen ableiten kann, aber erst einmal wollte ich einfacher beginnen face-wink
Member: kayes73
kayes73 Jul 09, 2015 at 08:08:02 (UTC)
Goto Top
LÖSUNG:

Am Zielort waren die nötigen Berechtigungen zum Schreiben nicht vorhanden. Nach Anpassung der Berechtigungen hat das kopieren tadellos geklappt.