User Ordner in Batch Kopieren?

4 Antworten

Hier mal ein kurzes Skript, in dem es möglich ist, den zu sichernden Ordner zu ändern:

@echo off
set "src=%userprofile%"
set "dst=B:"
echo.Zu sichernden Ordner festlegen.
echo.Der Standardwert ist %src%. Bestaetigen mit [enter].
set /p "src= > "

xcopy "%src%" "%dst%" /E
pause

Dabei wird der Inhalt des Verzeichnisses %src% direkt in das Verzeichnis %dst% kopiert. Du solltest also eventuell als Ziel einen Pfad wie "B:\Backup" oder "B:\%username%" wählen.

Schau dir am besten die Doc zu xcopy an fürs kopieren/backupen.

Variablen werden mit

Set vari=test

Echo %vari%

Initiiert und ausgegeben.

AlphaWolfKiba 
Fragesteller
 15.02.2020, 15:45

also kann ich dann z.B. xcopy %vari% B:\ machen?

0
quick  15.02.2020, 15:53
@AlphaWolfKiba

Kannst du, wenn du den Quellpfad zuvor in die Variable %vari% schreibst. Wenn du steuern möchtest, was du kopierst, würde ich das vorherige Beachten der Dokumentarion zu xcopy erneut empfehlen und im Minimum die Parameter /s und /e anfügen.

Set vari=C:\Users\...

Xcopy %vari% b: /s /e

S für unterverzeichnisse

E für leere Verzeichnisse

Als Beispiel

0

ohne viel Worte DropTargets: Ziehe den/die Ordner einfach drauf...

@echo off
  rem  Ziellaufwerk:
set "destinationDrive=B:"

if "%~n1"=="" (
    echo Bitte einen Ordner auf  die Batch "%~nx0" ziehen!
    Timeout 5 >nul
    exit /b
)
if  not exist "%~f1\*" (
    color 4f
    echo  "%~f1" ist kein Ordner!
    Timeout 5 >nul
    exit /b
)  
echo  Ordner "%~f1" nach  "%destinationDrive%\%~nx1" kopiern?
choice
if %ErrorLevel% equ 2 goto :TueNix

xcopy /e "%~f1\*" "%destinationDrive%\%~nx1\*"
:TueNix
pause

für mehrere Dropordner:

@echo off
color 1f
 rem Ziellaufwerk:
set "destinationDrive=B:"

if "%~n1"=="" (
  echo Bitte einen oder mehr Ordner auf die Batch "%~nx0" ziehen!
  Timeout 5 >nul
  exit /b
)

echo Die Ordner ##  %*  ##  nach "%destinationDrive%" kopiern?
choice
if %ErrorLevel% equ 2 goto :TueNix

for %%a in (%*) do (
   rem ist das ein Ordner? (Ordner haben immer Dateien unter sich, auch wenn die nicht sieht)
  if exist "%%~fa\*" (
    xcopy /e "%%~fa\*" "%destinationDrive%\%%~nxa\*"
  ) else (
     rem wenn Datei:
    color 4f
    echo "%%~fa" ist kein Ordner! ...nicht kopiert!!!!
    Timeout 2 >nul
    color 1f
  )
)
:TueNix
pause
Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren
Erzesel  15.02.2020, 18:45

PS: zum unterdrücken der Überschreib-Abfrage:

xcopy /e /y  ...usw.
0

was du in CMD ausführen würden in eine Text Datei kopieren. die Endung von txt auf BAT ändern und dann in den Autostart deines Startmenüs Kopieren.
Viel Erfolg!

AlphaWolfKiba 
Fragesteller
 15.02.2020, 15:40

das war nicht die frage xD

ich brauche eher hilfe dabei das ich nicht weiß wie ich den ordner kopieren kann weil wenn ich Copy C:\Users\LPRG-Developers B:\ ausführe kopiert er nur die datein im ordner, aber keine anderen ordner und verknüpfungen

1