xcopy variabeln
hi meine lieben experten,
ich versuche mit xcopy in einer batch datei eine installation zu schreiben zB für ProgX wie hier allerdings habe ein problem...
hier der fragwürdige auszug aus der batch datei...
@echo off
echo.
echo Installationspfad waehlen!
echo.
echo Vorgabe 1: C:\Programme\ProgX
echo Vorgabe 2: D:\ProgX
echo Vorgabe 3: D:\Programme\ProgX
echo wenn du was anderes willst gib else ein sonst 1, 2 oder 3!
set /p pfad=
if "%pfad%"=="1" goto a
if "%pfad%"=="2" goto b
if "%pfad%"=="3" goto c
if "%pfad%"=="else" goto else
echo Fehler! Gib 1,2,3 oder else ein!
echo zurueck beliebige Taste...
pause >nul
goto pfadw
:a
set path=C:\Programme\ProgX
goto xkopy
:b
set path=D:\progX
goto xkopy
:c
set path=D:\Programme\progX
goto xkopy
:else
echo.
echo Gib den Installationspfad an den du moechtest!
echo dieser wird nicht ueberprueft! Die Installation wird fehlschlagen,
echo wenn er ungueltig ist (gib back ein um zu den Vorgaben zurueck zu kommen)
set /p path=
if "%path%"=="back" goto pfadw
goto xkopy
:xkopy
echo.
echo Kopiervorgang nach %path%\ gewaehlt
set back=""
echo wenn du zurueck an den Anfang willst gib back ein
set /p back=
if "%back%"=="back" goto begin
echo OK, druecke eine beliebige Taste um den Vorgang zu starten!
pause >nul
xcopy "progX" %path% /e /i /y
pause >nul
nun stellt sich worklich die frage wo der fehler liegt...
xcopy wird nicht als befehl erkannt!(werdet ihr wohl auch feststellen wenn ihr das hier als batch datei startet...)
kann mir jmd sagen wieso das nich funktioniert und wie ich das hinbekomme?
ich find den fehler einfach nich... nur der befehl allein funktioniert xcopy hat mir auch schon früher auf einfachere weise als installation gedient.. aber nun komm ich nich weiter. help!
ich versuche mit xcopy in einer batch datei eine installation zu schreiben zB für ProgX wie hier allerdings habe ein problem...
hier der fragwürdige auszug aus der batch datei...
@echo off
echo.
echo Installationspfad waehlen!
echo.
echo Vorgabe 1: C:\Programme\ProgX
echo Vorgabe 2: D:\ProgX
echo Vorgabe 3: D:\Programme\ProgX
echo wenn du was anderes willst gib else ein sonst 1, 2 oder 3!
set /p pfad=
if "%pfad%"=="1" goto a
if "%pfad%"=="2" goto b
if "%pfad%"=="3" goto c
if "%pfad%"=="else" goto else
echo Fehler! Gib 1,2,3 oder else ein!
echo zurueck beliebige Taste...
pause >nul
goto pfadw
:a
set path=C:\Programme\ProgX
goto xkopy
:b
set path=D:\progX
goto xkopy
:c
set path=D:\Programme\progX
goto xkopy
:else
echo.
echo Gib den Installationspfad an den du moechtest!
echo dieser wird nicht ueberprueft! Die Installation wird fehlschlagen,
echo wenn er ungueltig ist (gib back ein um zu den Vorgaben zurueck zu kommen)
set /p path=
if "%path%"=="back" goto pfadw
goto xkopy
:xkopy
echo.
echo Kopiervorgang nach %path%\ gewaehlt
set back=""
echo wenn du zurueck an den Anfang willst gib back ein
set /p back=
if "%back%"=="back" goto begin
echo OK, druecke eine beliebige Taste um den Vorgang zu starten!
pause >nul
xcopy "progX" %path% /e /i /y
pause >nul
nun stellt sich worklich die frage wo der fehler liegt...
xcopy wird nicht als befehl erkannt!(werdet ihr wohl auch feststellen wenn ihr das hier als batch datei startet...)
kann mir jmd sagen wieso das nich funktioniert und wie ich das hinbekomme?
ich find den fehler einfach nich... nur der befehl allein funktioniert xcopy hat mir auch schon früher auf einfachere weise als installation gedient.. aber nun komm ich nich weiter. help!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 46390
Url: https://administrator.de/contentid/46390
Ausgedruckt am: 22.11.2024 um 17:11 Uhr
4 Kommentare
Neuester Kommentar
Moin Phlegma,
da Du nicht am Anfang Deines Schnipsels geschrieben hast "@echo off & setlocal", überschreibst Du mit Deiner Variablen %path% die vorher vorhandene Systemvariable %PATH%, die unter jedem M$-Rechner per Konvention dazu dient, den Suchpfad für (meistens) häufig verwendete CMD-Utilities festzulegen (ping.exe, find.exe,... oder halt xcopy.exe...).
---> Benenne Deine Variable um in %zielpfad% oder %pfad%
- und/oder -
ergänze das "setlocal" am Anfange des Schnipsels.
Gruß
Biber
da Du nicht am Anfang Deines Schnipsels geschrieben hast "@echo off & setlocal", überschreibst Du mit Deiner Variablen %path% die vorher vorhandene Systemvariable %PATH%, die unter jedem M$-Rechner per Konvention dazu dient, den Suchpfad für (meistens) häufig verwendete CMD-Utilities festzulegen (ping.exe, find.exe,... oder halt xcopy.exe...).
---> Benenne Deine Variable um in %zielpfad% oder %pfad%
- und/oder -
ergänze das "setlocal" am Anfange des Schnipsels.
Gruß
Biber