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:

@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:

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

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

Printed on: April 26, 2024 at 18:04 o'clock

Member: TK1987
TK1987 Jul 17, 2020 updated at 07:02:53 (UTC)
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
xcopy  "%Pfad1%\*.*" "%Pfad5%\" /S /Y  
ab und die Meldung verschwindet.

Gruß Thomas
Member: MrLabel
MrLabel Jul 17, 2020 at 07:10:45 (UTC)
Goto Top
Ok, das wäre der neue Code:

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
Member: Xerebus
Xerebus Jul 17, 2020 at 07:52:14 (UTC)
Goto Top
Hallo MrLabel

nur kurz überflogen.

If not exist %Pfad1% goto :erstellen
:erstellen

Kannst du komplett rausschmeissen.
In den Pfad läuft er automatisch....
Member: SlainteMhath
SlainteMhath Jul 17, 2020 at 07:56:15 (UTC)
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
Member: SlainteMhath
SlainteMhath Jul 17, 2020 at 07:58:06 (UTC)
Goto Top
Zitat von @Xerebus:

Hallo MrLabel

nur kurz überflogen.

> 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
Member: TK1987
TK1987 Jul 17, 2020 at 08:01:25 (UTC)
Goto Top
Bedeutet dann wohl, dass die Ordner C:\inst\Remoteapp und C:\Programme\Remoteapp\PA nicht existieren.
Mitglied: 144705
144705 Jul 17, 2020 updated at 08:08:20 (UTC)
Goto Top
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 ...
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"  
Member: MrLabel
MrLabel Jul 17, 2020 at 09:32:50 (UTC)
Goto Top
@144705 hab es so übernommen.
Aber es gibt folgendes aus ...
bat4
Mitglied: 144705
144705 Jul 17, 2020 updated at 09:37:29 (UTC)
Goto Top
Fehlermeldung lesen ist zu viel verlangt ne... "Zugriff verweigert" ... Du lässt das Ding mit zu wenig Rechten laufen.
Member: MrLabel
MrLabel Jul 17, 2020 at 09:40:33 (UTC)
Goto Top
ich habe die batch im admin modus gestartet
Member: MrLabel
MrLabel Jul 17, 2020 at 09:41:54 (UTC)
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?
Mitglied: 144705
144705 Jul 17, 2020 updated at 09:44:46 (UTC)
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
Member: MrLabel
MrLabel Jul 17, 2020 at 09:45:56 (UTC)
Goto Top
RoboCopy sagt mir nichts..
Mitglied: 144705
144705 Jul 17, 2020 updated at 09:47:59 (UTC)
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ö.
Member: TK1987
TK1987 Jul 17, 2020 at 09:55:09 (UTC)
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.