mrlabel
Goto Top

Batch Ordner kopieren Fehler

Hallo,

ich habe 2 bat Scripte. Im Wesentlichen sollen Sie nur Ordner kopieren/erstellen.
Ich bekomme aber immer eine Fehlermeldung die ich nicht ganz logisch finde....

Erstmal die Scripte...

SCRIPT 1:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@echo off
set Pfad1= C:\inst
set Pfad2= C:\RDS\SRV03
echo Ueberpruefen ob C:\inst existiert
if exist %Pfad1% goto :kopie
If not exist %Pfad1% goto :erstellen

:erstellen
echo erstellen des Ordners inst lokal
mkdir C:\inst
goto :kopie

:kopie
echo kopieren der Daten nach inst lokal
xcopy  %Pfad2%\*.* %Pfad1% /S /Y
goto :end

:end
Pause
call %Pfad1%\kpProgram.bat
exit



SCRIPT 2:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
echo off
set Pfad1= C:\inst\Remoteapp
set Pfad2= C:\Programme\
set Pfad3= C:\Users\Public\Desktop
set Pfad4= C:\inst
set Pfad5= C:\Programme\Remoteapp
set Pfad6= C:\Programme\Remoteapp\PA
echo Ueberpruefen ob C:\Programme existiert
if exist %Pfad5% goto :kopie
If not exist %Pfad5% goto :erstellen

 :erstellen
echo erstellen des Ordners Remoteapp lokal
C:
cd %Pfad2%
mkdir Remoteapp
goto :kopie

 :kopie
echo kopieren der Daten nach Programme lokal
xcopy  %Pfad1%\*.* %Pfad5% /S /Y
echo kopieren der Verknüpfungen Desktop lokal
xcopy  %Pfad6%\*.* %Pfad3% /S  
goto :end

:end
Pause
exit


Die Fehlermeldung tritt an der Stelle "Script 2 beim kopieren von %Pfad1% nach %Pfad5%.
Die Fehlermeldung:
kopieren der Daten nach Programme lokal
Ist das Ziel C:\Programme\Remoteapp ein Dateiname
oder ein Verzeichnisname
(D = Datei, V = Verzeichnis)? v
Fehler beim Erstellen der Datei - Eine Datei kann nicht erstellt werden, wenn sie bereits vorhanden ist.


Zu dem Fehler:
Ich habe geprüft, dass der Ordner nicht vorhanden ist. Fehler kommt trotzdem....
batinstall
bat2

Content-ID: 588533

Url: https://administrator.de/forum/batch-ordner-kopieren-fehler-588533.html

Ausgedruckt am: 12.01.2025 um 09:01 Uhr

TK1987
TK1987 17.07.2020 aktualisiert um 09:02:53 Uhr
Goto Top
Moin,

Zitat von @MrLabel:
Die Fehlermeldung tritt an der Stelle "Script 2 beim kopieren von %Pfad1% nach %Pfad5%.
Das ist keine Fehlermeldung sondern eine Abfrage.

Woher soll Xcopy auch wissen, ob du eine eine Datei kopieren und dabei in "Remoteapp" umbennen willst, oder ob du die Datei in einen Ordner namens Remoteapp legen willst?! Änder den Code auf
1
xcopy  "%Pfad1%\*.*" "%Pfad5%\" /S /Y  
ab und die Meldung verschwindet.

Gruß Thomas
MrLabel
MrLabel 17.07.2020 um 09:10:45 Uhr
Goto Top
Ok, das wäre der neue Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
echo off
set Pfad1= C:\inst\Remoteapp
set Pfad2= C:\Programme\
set Pfad3= C:\Users\Public\Desktop
set Pfad4= C:\inst
set Pfad5= C:\Programme\Remoteapp
set Pfad6= C:\Programme\Remoteapp\PA
echo Ueberpruefen ob C:\Programme existiert
if exist %Pfad5% goto :kopie
If not exist %Pfad5% goto :erstellen

 :erstellen
echo erstellen des Ordners Remoteapp lokal
C:
cd %Pfad2%
mkdir Remoteapp
goto :kopie

 :kopie
echo kopieren der Daten nach Programme lokal
xcopy  "%Pfad1%\*.*" "%Pfad5%\" /S /Y  
echo kopieren der Verknüpfungen Desktop lokal
xcopy  "%Pfad6%\*.*" "%Pfad3%\" /S    
goto :end

:end
Pause
exit


und das hier die neue Fehlermeldung ist im Bild...
bat3
Xerebus
Xerebus 17.07.2020 um 09:52:14 Uhr
Goto Top
Hallo MrLabel

nur kurz überflogen.

1
2
If not exist %Pfad1% goto :erstellen
:erstellen

Kannst du komplett rausschmeissen.
In den Pfad läuft er automatisch....
SlainteMhath
SlainteMhath 17.07.2020 um 09:56:15 Uhr
Goto Top
Moin,

Allgemein:
warum handierst du mit den sperrigen Pfad# Variblen herum... warum sind die inkonsisten mal mit \ mal ohne am Ende?
In Zeile 14 wechselst du hart nach C: ggfs. liegt der Pfad aber auf einem anderen LW... nimm dafür lieber "CD /D" in Zeile 15

Tipp für's debuggen: nimm das "echo off" am Anfang 'raus.

lg,
Slainte
SlainteMhath
SlainteMhath 17.07.2020 um 09:58:06 Uhr
Goto Top
Zitat von @Xerebus:

Hallo MrLabel

nur kurz überflogen.

1
2
> If not exist %Pfad1% goto :erstellen
> :erstellen

Kannst du komplett rausschmeissen.
In den Pfad läuft er automatisch....
Ebenso wie Zeilen 17-19, 24-26 und 28 face-smile
TK1987
TK1987 17.07.2020 um 10:01:25 Uhr
Goto Top
Bedeutet dann wohl, dass die Ordner C:\inst\Remoteapp und C:\Programme\Remoteapp\PA nicht existieren.
144705
144705 17.07.2020 aktualisiert um 10:08:20 Uhr
Goto Top
1
2
3
4
5
6
set Pfad1= C:\inst\Remoteapp
set Pfad2= C:\Programme\
set Pfad3= C:\Users\Public\Desktop
set Pfad4= C:\inst
set Pfad5= C:\Programme\Remoteapp
set Pfad6= C:\Programme\Remoteapp\PA
Da hat wohl ne Maus ein paar Löcher in den Käse gefressen ... Stichwort Leerzeichen ...
1
2
3
4
5
6
set "Pfad1=C:\inst\Remoteapp"  
set "Pfad2=C:\Programme"  
set "Pfad3=C:\Users\Public\Desktop"  
set "Pfad4=C:\inst"  
set "Pfad5=C:\Programme\Remoteapp"  
set "Pfad6=C:\Programme\Remoteapp\PA"  
MrLabel
MrLabel 17.07.2020 um 11:32:50 Uhr
Goto Top
@144705 hab es so übernommen.
Aber es gibt folgendes aus ...
bat4
144705
144705 17.07.2020 aktualisiert um 11:37:29 Uhr
Goto Top
Fehlermeldung lesen ist zu viel verlangt ne... "Zugriff verweigert" ... Du lässt das Ding mit zu wenig Rechten laufen.
MrLabel
MrLabel 17.07.2020 um 11:40:33 Uhr
Goto Top
ich habe die batch im admin modus gestartet
MrLabel
MrLabel 17.07.2020 um 11:41:54 Uhr
Goto Top
@144705 abgesehen davon, wie erklärst du dir die Meldung:

Fehler beim Erstellen der Datei - Eine Datei kann nicht erstellt werden, wenn sie bereits vorhanden ist.

Wenn der Ordner aber vorher nicht existent war?
144705
144705 17.07.2020 aktualisiert um 11:44:46 Uhr
Goto Top
Zitat von @MrLabel:

ich habe die batch im admin modus gestartet
Heißt noch lange nicht das du auch entsprechende ACLs auf den Ordnern besitzt. Auch ein Admin braucht Zugriffsrechte. Deswegen bei sowas RoboCopy mit Schalter /B
MrLabel
MrLabel 17.07.2020 um 11:45:56 Uhr
Goto Top
RoboCopy sagt mir nichts..
144705
144705 17.07.2020 aktualisiert um 11:47:59 Uhr
Goto Top
Zitat von @MrLabel:

RoboCopy sagt mir nichts..
Au weia...
https://docs.microsoft.com/de-de/windows-server/administration/windows-c ...

Fehler beim Erstellen der Datei - Eine Datei kann nicht erstellt werden, wenn sie bereits vorhanden ist.

Lerne Batch von Grund auf oder besser gleich Powershell
https://docs.microsoft.com/de-de/powershell/

Viel Erfolg
Tschö.
TK1987
TK1987 17.07.2020 um 11:55:09 Uhr
Goto Top
Zitat von @MrLabel:
abgesehen davon, wie erklärst du dir die Meldung:

Fehler beim Erstellen der Datei - Eine Datei kann nicht erstellt werden, wenn sie bereits vorhanden ist.

Wenn der Ordner aber vorher nicht existent war?
Das erklärt sich dadurch, dass du dir ohnehin keinen Gefallen damit tust, "C:\Programme" zu benutzen - das ist nämlich bereits eine versteckte Systemverknüpfung.