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, 13106 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
Windows Server
Dateiname zu lang
gelöst Frage von nooneelsebutmeWindows Server3 Kommentare

Hallo, habe Daten von einem Server 2008 R2 auf einen Server 2016 ES per robocopy migriert. Hat alles Problemlos ...

CPU, RAM, Mainboards
DELL BIOS peipt 4x lang und 2x lang
gelöst Frage von Rizal1966CPU, RAM, Mainboards6 Kommentare

Liebe Forummitglieder, ich habe Probleme mit einem DELL Optiplex 330. Nach dem Einschalten piept das BIOS erst 4x lang ...

Batch & Shell

Batch Dateien kopieren, deren Dateiname 8 Stellen lang ist

gelöst Frage von Joe2011Batch & Shell5 Kommentare

Hallo zusammen, Problem: es werden durch verschiedenen Quellen PDF´s generiert, die eigentlich eine Dateinamenslänge von 8 Stellen haben sollten. ...

Batch & Shell

BATCH ini Datei Datei auslesen

gelöst Frage von Juergen42Batch & Shell2 Kommentare

Hallo zusammen, ich möchte eine ini Datei auslesen mit folgenden Aufbau INHALT DER INI ID=30 NAME="test1" PFAD="K:\Kontoauszug\Test1\*.pdf" PFAD_S="K:\Kontoauszug\Test1\Sicherung\" ID=28 ...

Neue Wissensbeiträge
Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 8 StundenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 3 TageniOS3 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 4 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 6 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Heiß diskutierte Inhalte
Windows Server
Einziger Domänencontroller ersetzen - Windows Server 2012R2 - Hostname
Frage von DeRo93Windows Server26 Kommentare

Guten Tag, Leider haben wir einen Domänencontroller dessen Komponentenspeicher defekt ist. Alle Maßnahmen sind da leider fehlgeschlagen. Nun wurde ...

Server-Hardware
WS 2016 Essentials Hardware
Frage von ChefknechtServer-Hardware20 Kommentare

Moin welche Hardware würdet ihr empfehlen? Dell Poweredge HP Proliant Fujitsu Ich bin total konfus was nun nötig ist, ...

Windows Server
Welche Option fürs Windows Server Installations besser
Frage von backitWindows Server18 Kommentare

Hi Zusammen, ich werde unserer AD (SBS 2011) und Exchange 2010 Servern auf neuen physikalischen Server umziehen. ich habe ...

Windows Update
Fehler bei Updates über WSUS
Frage von Hendrik2586Windows Update12 Kommentare

Guten Tag liebe Kolleginen und Kollegen, lang lang ist meine letzte Anfrage her. Hier etwas das mich nun schon ...