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, 5111 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch - erkennen, ob ein Pfad lokal ist oder im Netzwerk liegt (3)

Frage von zimbosmurf zum Thema Batch & Shell ...

C und C++
gelöst C++ andere EXE aufrufen, Probleme mit Leerzeichen im Pfad (14)

Frage von pablovic zum Thema C und C ...

Batch & Shell
Leerzeichen im Pfad (4)

Frage von Jallio zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
POS Hardware und alternativen zu Raid 1? (21)

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

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

Windows 10
Windows 10 Home "Netzlaufwerk nicht bereit" (17)

Frage von Oggy01 zum Thema Windows 10 ...

Exchange Server
Exchange Postfach leeren - nicht löschen (10)

Frage von AndreasOC zum Thema Exchange Server ...