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

backup Batch Pfad hat Leerzeichen

Frage Entwicklung Batch & Shell

Mitglied: meisterigel

meisterigel (Level 1) - Jetzt verbinden

15.06.2007, aktualisiert 14:04 Uhr, 5104 Aufrufe, 4 Kommentare

wie kann ich einen Pfad in einer Batchdatei änder

Hallo

ich habe ein kleines Backuptool gebaut welches aus einer Externen Datei die zu sichernden Pfade ausliest und dann nacheinander abarbeitet das geht auch alles solange gut bis ein Pfad mit einem Leerzeichen kommt.
nun meine Frage gibt es eine Möglichkeit den Pfad von z.B.: C:\Dokumente und Einstellungen\ich\Application Data\Microsoft automatisch in
C:\Dokume~1\Herzberg\Applic~1\Microsoft umzuwandeln wenn ja wie soll das gehen.

01.
set ziel="c:\SICHERUNG\" 
02.
 
03.
REM ---Der Ort der Quelldatei wird aus der quellen.txt glesen 
04.
 
05.
FOR /f "delims=" %%f IN (quellen.txt) DO call :loop "%%f" 
06.
goto ende 
07.
 
08.
ANGEBEN!!!----------------------------------------------------------------------- 
09.
 
10.
:loop  
11.
set von="%~1" 
12.
set ordner="%~1" 
13.
set ordner=%ordner::=% 
14.
 
15.
 
16.
 
17.
 
18.
REM --------------------------------------- Ausgeben der Befehlsliste  
19.
REM --------------------------------------- Name des Sicherungsordner wird erstellt  
20.
set jahr=%date:~-4% 
21.
set monat=%date:~-7,2% 
22.
set tag=%date:~-10,2% 
23.
set datum=%tag%.%monat%.%jahr% 
24.
set nach="%ziel%%datum%\%ordner%\" 
25.
 
26.
 
27.
REM --------------------------------------- Logdatei wird geschrieben  
28.
echo Starte Datensicherung am %datum% um %time% von %von% nach %nach% >>%windir%\backup.log >>%ziel%\backup.log 
29.
 
30.
 
31.
REM --------------------------------------- Daten werden Kopiert  
32.
xcopy %von% %nach% /S /E /C /H /O /R /Y /D /V
[Edit 15.06.2007 11:44]
Ich habe mir erlaubt, den Batchschnipsel in einen Codeblock zu setzen. Danke...

Dani
(Moderator)
Mitglied: bastla
15.06.2007 um 11:44 Uhr
Hallo meisterigel!

gibt es eine Möglichkeit den Pfad von z.B.: C:\Dokumente und Einstellungen\ich\Application Data\Microsoft automatisch in C:\Dokume~1\Herzberg\Applic~1\Microsoft umzuwandeln wenn ja wie soll das gehen.

Versuch es mit
01.
set "von=%~s1"
Siehe dazu auch "for /?"

Grüße
bastla
Bitte warten ..
Mitglied: meisterigel
15.06.2007 um 12:24 Uhr
das geht so nicht
kann ich das nicht so wie mit den Doppelpunkte im Pfad machen die kann ich ja auch löschen.
Ich möchte ja nur das nach jedem backslash und dem sechsten Zeichen ein ~1 steht
muss doch gehen

PS.: die Hilfe habe ich schon gelesen
Bitte warten ..
Mitglied: bastla
15.06.2007 um 13:42 Uhr
Hallo meisterigel!

Um das zu verifizieren:

In Deiner "quellen.txt" steht der existierende Pfad "C:\Dokumente und Einstellungen\Herzberg\Application Data\Microsoft". In Deinem Batch hast Du set von="%~1" durch set "von=%~s1" ersetzt, also etwa so:
01.
FOR /f "delims=" %%f IN (quellen.txt) DO call :loop "%%f" 
02.
goto ende 
03.
 
04.
:loop  
05.
set "von=%~s1" 
06.
echo %von%
(das echo nur zur sofortigen Kontrolle).

Du bekommst damit nicht den ShortName?

Grüße
bastla
Bitte warten ..
Mitglied: bastla
15.06.2007 um 14:04 Uhr
... aber vielleicht gleich auch ein Alternativvorschlag:
01.
@echo off & setlocal 
02.
set "ziel=c:\SICHERUNG" 
03.
FOR /f "delims=" %%f IN (quellen.txt) DO call :loop "%%f" 
04.
goto :eof 
05.
:loop 
06.
set "von=%~1" 
07.
set "ordner=%von::=%" 
08.
set jahr=%date:~-4% 
09.
set monat=%date:~-7,2% 
10.
set tag=%date:~-10,2% 
11.
set datum=%tag%.%monat%.%jahr% 
12.
set "nach=%ziel%\%datum%\%ordner%" 
13.
echo xcopy "%von%" "%nach%\" /S /E /C /H /O /R /Y /D /V
Das echo steht zum Testen drinnen.

Geändert habe ich insbesondere das Setzen der Anführungszeichen sowie die Verwendung der "\", etwa zwischen %ziel% und %datum%. (Sinnvoller fände ich übrigens ein Datum der Art %jahr%-%monat%-%tag%.)

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

Windows Update-Suche nach Win7 Neuinstallation wieder schneller

(1)

Erfahrungsbericht von the-buccaneer zum Thema Windows Update ...

Ähnliche Inhalte
Batch & Shell
Leerzeichen im Pfad (4)

Frage von Jallio zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Batch Winrar entpacken - Probleme bei Pfad (7)

Frage von Concurve zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Variable setzten mit Leerzeichen (3)

Frage von Marlon1 zum Thema Batch & Shell ...

Batch & Shell
gelöst Fenstertitel von anderen Tasks per batch auslesen (3)

Frage von NetMare zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Exchange Server
Bestehende eMails autoamatisch weiterleiten (21)

Frage von metal-shot zum Thema Exchange Server ...

Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (21)

Frage von Winuser zum Thema Hyper-V ...

SAN, NAS, DAS
gelöst Synology Version 6.1 Probleme (18)

Frage von Hendrik2586 zum Thema SAN, NAS, DAS ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (16)

Frage von ProfessorZ zum Thema Router & Routing ...