Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Problem mit xcopy

Frage Entwicklung Batch & Shell

Mitglied: Muckel1986

Muckel1986 (Level 1) - Jetzt verbinden

14.12.2008, aktualisiert 14:08 Uhr, 4881 Aufrufe, 8 Kommentare

Möchte ein Verzeichnis auf eine Externe Festplatte kopieren, schlägt aber fehl.

Guten Morgen und einen schönen Advent!

Seid geraumer Zeit habe ich eine Externe Festplatte. Nun möchte ich, dass darauf meine Daten gesichert werden. Um das nicht jedesmal von Hand kopieren zu müssen, dachte ich mir, dass ich eine batch Datei schreibe, die das für mich übernimmt. Doch mit folgendem funktioniert das nicht so ganz:
01.
@echo off 
02.
echo Willkommen zur Datensicherung! 
03.
echo Mit diesem kleinen Script führst Du eine Datensicherung durch. Es werden die eingestellten Verzeichnisse auf Dein externes Speichermedium kopiert. 
04.
pause 
05.
xcopy "c:\%USERPROFILE%\test\" "f:\sicher~1\%date%-%time%" /D /E /Y /I 
06.
pause
Wenn ich das ausführe bekomme ich den Fehler: "Ungültiger Pfad
0Datei(en) kopiert"

Ich dachte, dass ich mit %USERPROFILE% in das Verzeichnis von Vista gehe, was zu meinem Benutzer gehört. Dort habe ich ein Verzeichnis (Ordner) test erstellt, in dem eine txt Datei ist.

Das Verzeichnis test im userprofile sollte dann auf meine Externefestplatte (f) in den Ordner Sicherung kopiert werden. Bzw. es sollte in dem Ordner Sicherung ein Ordner mit dem Datum und der Zeit erstellt werden.

Doch leider klappt das nicht. Kann mir jemand sagen, wo mein Fehler liegt?

Desweiteren möchte ich später gerne verschiedene Ordner/Verzeichnisse angeben, die in das Ziel kopiert werden sollen. Kann man das kombinieren oder muss ich jedesmal die gleiche Zeile wieder schreiben um es so einzeln zu kopieren?

Schonmal vielen Dank für eure Hilfe!
Gruß Muckel / Tobias
Mitglied: education
14.12.2008 um 10:05 Uhr
%userprofile% ist eine vari für den angemeldeten benutzer.
also
xcopy "c:\dokumente und einstellungen\test\*.*" f:\sicherung\%date%-%time%

oder:

set homepath="c:\dokumente und einstellungen"
xcopy %homepath%\test\*.* f:\sicherung\%date%-%time%\

aber mit den date und time wird es nicht so ganz klappen glaube ich, sind ja sonderzeichen in der uhrzeitsausgabeausgabe

aber warum nimmst du dafür nicht robocopy, gibts es kostenlos bei m$ in download bereich
Bitte warten ..
Mitglied: Muckel1986
14.12.2008 um 10:18 Uhr
Hallo,

Danke für Deine Antwort. Das mit dem Datum-Zeit-Ordner ist nicht das wichtigste. Mir ist klar, dass %USERPROFILE% die standard Variable ist, die zu dem Verzeichnis des angemeldeten Benutzers führt. Gerade deshalb müsste es ja auch klappen, dass ich dann den Ordner test erreiche.

Mit einer anderen Batch Datei (mit der lasse ich mir in eine Textdatei schreiben, was ich für einen Content habe, funktioniert es ja auch:
01.
@echo off 
02.
set music="%USERPROFILE%\Music" 
03.
set doc="%USERPROFILE%\Documents" 
04.
set pic="%USERPROFILE%\Pictures\meineBilder" 
05.
set hp="%USERPROFILE%\Homepage" 
06.
echo Mit diesem kleinen Script wird eine Liste Deiner wichtigen Ordner und dessen Inhalte erstellt. Mit einem Tastendruck startest Du den vorgang. 
07.
pause 
08.
dir %music% >> musik.txt /S /O /4 
09.
echo die Musik wurden aufgelistet. Mit einem Tastendruck kommen wir zu deinen Dokumenten. 
10.
pause 
11.
dir %doc% >> dokumente.txt /S /O /4 
12.
echo die Dokumente wurden aufgelistet. Mit einem Tastendruck kommen wir zu deinen Bildern. 
13.
pause 
14.
dir %pic% >> Bilder.txt /S /O /4 
15.
echo die Bilder wurden aufgelistet. Mit einem Tastendruck kommen wir zu deinem Homepage Verzeichnis. 
16.
pause 
17.
dir %hp% >> hp.txt /S /O /4 
18.
echo das Homepage Verzeichnis wurde aufgelistet. Mit einem Tastendruck beendest Du diese Anwendung. 
19.
pause
Daher verstehe ich nicht, dass es mit xcopy nicht funktioniert.


Und robcopy kannte ich bislang noch nicht, wie auch m$.

Vielen Dank
Muckel / Tobias
Bitte warten ..
Mitglied: Muckel1986
14.12.2008 um 10:24 Uhr
Guten Tag nochmal,

habe das eben mit robcopy ausprobiert und es funktioniert:
01.
robocopy "%USERPROFILE%\test" "F:\Sicherung\%date%" /MIR /LOG+:F:\Sicherung\log.txt
Ist nur komisch, dass es dort mit %USERPROFILE% klappt und bei xcopy nicht. Naja, werde jetzt noch versuchen da mit Variablen zu arbeiten, damit der Endanwender seine Verzeichnisse selbst eintragen kann.

Gruß und vielen Dank
Muckel / Tobias
Bitte warten ..
Mitglied: bastla
14.12.2008 um 10:50 Uhr
Hallo Muckel1986!

Ist nur komisch, dass es dort mit %USERPROFILE% klappt und bei xcopy nicht.
Worauf education schon hingewiesen hat: Das Problem war "%time%", da Du dafür folgendes Format erhältst: "10:49:09,79" - damit würde auch "robocopy" nicht zurechtkommen.

Falls Du dennoch die Uhrzeit dabei haben wolltest, könntest Du etwa so vorgehen (und vielleicht auch noch ein besser sortierbares Datumsformat verwenden):
01.
set Zeit=%time:~,8% 
02.
set Zeit=%Zeit::=% 
03.
set Datum=%date:~-4%-%date:~-7,2%-%date:~-10,2%
Noch ein Hinweis zu "robocopy /MIR": Damit werden im Sicherungsordner Dateien, die im Quellordner nicht mehr vorhanden sind, ebenfalls gelöscht - ein ev nicht unbedingt erwünschtes Verhalten ...

Grüße
bastla
Bitte warten ..
Mitglied: education
14.12.2008 um 11:31 Uhr
und noch ein fehler in deiner batch warum es nicht ging:

xcopy "c:\%USERPROFILE%\test\" "f:\sicher~1\%date%-%time%" /D /E /Y /I

das C:\ ist auch falsch da ja userprofile schon auf c:\ hinweist somit wäre der pfad
c:\c:\doc und einstell
Bitte warten ..
Mitglied: chibi-fighter
14.12.2008 um 11:41 Uhr
bist du dir auch sicher dass deine externe f: ist? das kann sich ja auch ändern...
Wenn er dann nämlich f: nicht finden kann hat er ja nichts wo ers hinkopiern kann.
Bitte warten ..
Mitglied: Muckel1986
14.12.2008 um 11:45 Uhr
Danke Bastia für deine Antwort.

Da ich bei robcopy mir für jedesmal einen neuen Ordner mit dem aktuellen Datum erzeugen lasse, fällt das löschen der nicht mehr vorhandenen Ordner nicht ins Gewicht.

Aktuell habe ich nur die Sache, dass ich da gerne noch mit Variablen für verschiedene Verzeichnisse arbeiten würde:
01.
@echo off 
02.
set doc="%USERPROFILE%\Documents" 
03.
set pic="%USERPROFILE%\Pictures" 
04.
set music="%USERPROFILE%\Music" 
05.
echo die Datensicherung beginnt 
06.
pause 
07.
robocopy "%doc%" "F:\Sicherung\%date%" /MIR /LOG+:F:\Sicherung\log-%date%.txt 
08.
pause
Kann ich da alle meine Variablen reinbauen oder muss ich für jedes ein eigene Befehlszeile aufbauen?
Bitte warten ..
Mitglied: bastla
14.12.2008 um 14:08 Uhr
Hallo Muckel1986!

Kann ich da alle meine Variablen reinbauen oder muss ich für jedes ein eigene Befehlszeile aufbauen?
Eher letzteres, da Du mehrere Ordner nur ausschließen (/XD) kannst.

Du könntest allerdings eine Schleife der Art
for /f "delims=" %%i in (F:\Robocopy_Include.txt) do robocopy "%%i" "F:\Sicherung\%date%" /MIR /LOG+:F:\Sicherung\log-%date%.txt 
verwenden, um die Liste der zu sichernden Ordner in einer eigenen Datei (Inhalt: je Zeile ein Ordnerpfad) pflegen zu können.

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
DSL, VDSL
Problem mit variernder Internetgeschwindigkeit (12)

Frage von schaurian zum Thema DSL, VDSL ...

Windows Netzwerk
gelöst Problem mit PSexec64 von Sysinternals (8)

Frage von MaxMoritz6 zum Thema Windows Netzwerk ...

Windows Server
gelöst Problem nach DC-Installation unter Server 2012 R2 (9)

Frage von manuel1985 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...