Top-Themen

Aktuelle Themen (A bis Z)

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 Batch File - Zeile auslesen aus Datei und verändern (mit langen Dateinamen)

Mitglied: windwind12

windwind12 (Level 1) - Jetzt verbinden

20.02.2006, aktualisiert 22:32 Uhr, 13097 Aufrufe, 4 Kommentare

[Edit] Beitrag auf "Gelöst" gesetzt am 5.3. 2006 Biber [/Edit]

Hallo Leute!

Ich habe ein Problem mit meinen Batch File ... es checkt irgendwie nicht die Leerzeichen ... und die Sonderzeichen ...
Verwendet wird ein Windows 2000/XP/2003

Vorgabe ist ein Text File namens pst.txt
=== Inhalt Anfang ===
D:\BACKUP\Daten\Bereiche\Pawlik\xuser\PC\pawlik\Local Settings\Anwendungsdaten\Microsoft\Outlook\archive.pst
D:\BACKUP\Daten\Bereiche\Reithofer\Outlook\CDC.pst
D:\BACKUP\Daten\Bereiche\Reithofer\Outlook\Kontakte.pst
D:\BACKUP\Daten\Bereiche\Schneeweiss\back_up Outlook\Schneeweiß OUTLOOK\Schneeweiss2004.pst
D:\BACKUP\Daten\Bereiche\Schneeweiss\back_up Outlook\Schneeweiß OUTLOOK\Schneeweiss2005.pst
=== Inhalt Ende ===


Das Batch File soll die Datei Zeile für Zeile einlesen und abändern für einen Kopierjob als SET Varaiblen (mit oder ohne "" ist egal)

Quelle = D:\BACKUP\Daten\Bereiche\Schneeweiss\back_up Outlook\Schneeweiß OUTLOOK\Schneeweiss2004.pst
Ziel = Bereiche\Schneeweiss\back_up Outlook\Schneeweiß OUTLOOK\Schneeweiss2004.pst

Derzeitiges Ergebnis ...
Quelle "D:\BACKUP\Daten\Bereiche\Schneeweiss\back_up"
Ziel "Bereiche\Schneeweiss\back_up""


Das Problem ist, das er nicht mit den Leerzeichen zurechtkommt und einfach abschneidet.
Zusätzlich sollen auch die Sonderzeichen ß passen und die "

=== Meine Batch Datei Anfang ===
@echo off

FOR /f %%f IN (pst.txt) DO call :loop "%%f"
goto ende

:loop
set Quelle=%1
Set Ziel="%Quelle:~17%"
echo Quelle %Quelle%
echo Ziel %Ziel%
echo.
rem xcopy %Quelle% %Ziel% /d /y
goto :eof

:ende
pause
=== Meine Batch Datei Ende ===


Kann mir jemand hier helfen?

Danke ganz lieb
windwind12
Mitglied: powerbond007
20.02.2006 um 17:26 Uhr
Du musst einfach jede Zeile in der Textdatei in Anführungszeichen setzten.
Bitte warten ..
Mitglied: windwind12
20.02.2006 um 18:56 Uhr
klappt nicht ...

da kommt folgendes raus ...

Quelle ""D:\BACKUP\Daten\Bereiche\Schneeweiss\back_up"
Ziel "\Bereiche\Schneeweiss\back_up" "

Trotzdem Danke ... einen Versuch war es wert
windwind12
Bitte warten ..
Mitglied: Biber
20.02.2006 um 20:05 Uhr
Na, windwind12,
da sind mehrere kleine Stolpersteinchen drin, aber lösbar ist es...

1. Miniproblem - trailing blanks
In der Textdatei pst.txt (die ja wahrscheinlich auch über eine DIR-Output mit Umleitung erzeugt wird), sind trailing blanks, also überflüssige Leerzeichen am Ende enthalten. Die bringen alles etwas durcheinander.
Also: falls ihr die Textdatei erzeugt mit
Dir /s /b D:\BACKUP\Daten\Bereiche\*.pst >pst.txt
dann nehmt das Leerzeichen vor dem Größerzeichen raus(Minimallösung)
-oder- (advanced) schreibt ein Semikolon am Ende
Dir /s /b D:\BACKUP\Daten\Bereiche\*.pst;>pst.txt
--Problem gelöst-
2. Miniproblem - Anführungszeichen
Die Anführungszeichen...wo setzen, wo explizit wegnehmen
Mein Vorschlag:
FOR /f "delims=" %%f IN (pst.txt) DO call :loop "%%f"
goto ende

:loop
set "Quelle=%~1"
Set "Ziel=%Quelle:~17%"
:: Ziel und Quelle jetzt beide OHNE Anführungszeichen
@echo Quelle: [%Quelle%]
@echo Ziel: [%Ziel%]
echo.
rem xcopy "%Quelle%" "%Ziel%" /d /y
goto :eof

:ende
pause

Dann passt es besser.
Alternativ, falls ihr die Semikolon-Variante nehmt:
FOR /f "delims=;" %%f IN (pst.txt) DO call :loop "%%f"

3. Miniproblem - die Umlaute bzw das "deutsche SZ" bei "Schneeweiß"
- entweder die *.bat- und *.txt -Dateien im gleichen Zeichensatz bearbeiten.
Meistens hilft ein "CHCP 1252" am CMD-Prompt.
Dann "kennt" die CMD.exe die Windows-Umlaute
- oder (mir wäre so ein "meistens" zu wackelig) legt doch gleich die "kurzen" Pfad-und Dateinamen an beim Schreiben der pst.txt.
Dann steht da statt
D:\BACKUP\Daten\Bereiche\Schneeweiss\back_up Outlook\Schneeweiß OUTLOOK\Schneeweiss2005.pst
--von Anfang an gleich
D:\BACKUP\Daten\Bereiche\Schnee~1\back_u~1\Schnee~1\Schnee~1.pst

...und ihr habt gar keine Miniprobleme mehr.

HTH Biber
Bitte warten ..
Mitglied: windwind12
20.02.2006 um 22:32 Uhr
Vielen Vielen Vielen ... Dank Biber!!!

Auf das mit dem kurzen Zeichen wäre ich nie gekommen (Seh den Wald vor lauter Bäumen nicht mehr).
Werde das gleich morgen in der Firma testen ...
Meine DOS Kentnisse sind auch schon ziemlich eingerostet ...

Edit: Das mit den kurzen Zeichen geht nicht .... aber der Rest funktioniert super! Danke!
Genau das was ich brauche.

Windwind12
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch File zum Auslesen einer Datei
gelöst Frage von Marcel1989Batch & Shell9 Kommentare

Hallo, Ich scheibe momentan ein Anmeldescript als batch mit dem Aufruf von VBS dateien. Hierfür haben wir bereits gruppen ...

Batch & Shell

Dateinamen einer ausgeführten Batch verändern

Frage von DD-GamerBatch & Shell5 Kommentare

Hallo, ich möchte den Dateinamen der auszuführenden .bat um eins erhöhen nachdem ich sie ausgeführt habe. Das würde dann ...

Batch & Shell

Per Batch Dateinamen auslesen, Inhaltlich in HTML Datei Wert verändern

Frage von thomas1972Batch & Shell10 Kommentare

Hallo, ich habe ein Problem, bekomme in einem Verzeichnis täglich X html Dateien abgelegt. Wie kann ich am schnellsten ...

Batch & Shell

Mit batch zeilen auslesen

gelöst Frage von keksegrillerBatch & Shell2 Kommentare

Hallihallo, ich fange gerade an mit batch-Dateien zu arbeiten und komme trotz stundenlangem ausprobieren und googlen leider nicht mehr ...

Neue Wissensbeiträge
Peripheriegeräte
Unterschrank für HP Drucker
Tipp von NixVerstehen vor 2 TagenPeripheriegeräte3 Kommentare

Als kurzen Freitags-Tipp möchte ich gerne meinen neuen Drucker-Unterschrank Modell Amica KS 15423W vorstellen. Das Gerät eignet sich hervorragend ...

Windows 10
Windows 10 - Probleme mit Point-And-Print
Tipp von emeriks vor 3 TagenWindows 103 Kommentare

Hi, wir kämpfen z.Z. mit einigen Druckertreibern, welche unter Win10 beim Verbinden eines Druckers von Printserver mit dem Dialog ...

Windows 10

Windows 10 1803 - Ihr Roamingbenutzerprofil wurde nicht vollständig synchronisiert

Anleitung von Deepsys vor 3 TagenWindows 101 Kommentar

Bei allen Windows 10 1803 PCs traten Probleme mit den Servergespeicherten Profilen auf. Das Abmelden dauerte sehr lange und ...

Exchange Server
Exchange - Fehler mit 2018-07 Sicherheitsupdate
Tipp von ArnoNymous vor 5 TagenExchange Server7 Kommentare

Hallo, es gibt mal wieder Freude mit den MS-Updates. KB4338814 führt dazu, dass der Exchange keine Mails mehr zustellt. ...

Heiß diskutierte Inhalte
Server-Hardware
DL380p Gen8 LEDs Laufwerksaktivität funktionieren nicht
gelöst Frage von Cisco7971Server-Hardware25 Kommentare

Hallo zusammen, ich habe hier ein seltsames Problem: Die LEDs an den Smart Carriern, die bei Laufwerksaktivität rotieren, tun ...

Windows Server
Leistungsindikatoren WS2012R2
Frage von Der.ITlerWindows Server15 Kommentare

Hallo Gemeinde, seit gestern habe ich auf zwei von meinem 8 Hardwareservern folgendes Problem, dass die Leistungsindikatoren nicht gestartet ...

Server-Hardware
Einsteigerfragen zu HP ProLiant DL380p Gen 8
gelöst Frage von brain2011Server-Hardware15 Kommentare

Hallo, ich habe mir einen HP ProLiant DL380p Gen 8 zugelegt, um mich grundlegend mit dieser Geräteklasse und der ...

Windows Server
Server 2016 verwalten ohne Domäne
gelöst Frage von cyberworm83Windows Server10 Kommentare

Hi zusammen, und zwar habe ich folgendes Probelm: Ich habe einen Server 2016 Datacenter den ich an meine FritzBox ...