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

Buchstaben in Strings auslesen und ändern

Frage Entwicklung Batch & Shell

Mitglied: TobiisFreaky

TobiisFreaky (Level 2) - Jetzt verbinden

15.12.2008, aktualisiert 09:56 Uhr, 5450 Aufrufe, 3 Kommentare

Hallo Community,

ich habe eine vorhandene Batch-Datei, die mir alle Verzeichnisse einer Partition auflistet und in einer Text-Datei speichert. Beim Speichern (mehr als 255 Zeichen) werden alle Ä Ö Ü ß umbenannt in andere Zeichen, wie " (= ö)
Gibt es eine Möglichkeit diese Verzeichnisnamen so in eine TXT-Datei zu erfassen oder muss wirklich über eine 2. Batch "nachbesserungen" vorgenommen werden, indem die Sonderzeichen durch Ä Ü Ö etc umbenennt werden?
Es sind etwas mehr als 9000 Strings... die alle manuell zu ändern wäre etwas zeitaufwendig

Außerdem gibt es eine Möglichkeit wie man während einer Schleife (FOR /F) die Strings (in Variablen gesetzt) in "" setzen kann, somit Srings mit Leerzeichen auch erfasst werden und keine Abbruch erfolgt???
Also ich bin schon soweit gekommen und habe herausgefunden, dass FOR /F den String sich bis zu einem Leerzeichen merkt und danach in die nächste Zeile springt. Strings nach dem Leerzeichen werden nicht beachtet, auch wenn diese in "" gesetzt sind...


Mit freundlichen Grüßen

Tobi
Mitglied: bastla
15.12.2008 um 09:44 Uhr
Hallo TobiisFreaky!

Versuch es mit der folgenden Zeile am Anfang der ersten Batchdatei:
chcp 1252
Damit "for /f" Deine Strings nicht aufteilt, verwende
for /f "delims=" %%i in (...
Grüße
bastla
Bitte warten ..
Mitglied: Biber
15.12.2008 um 09:50 Uhr
Moin TobiisFreaky,

vermutlich fehlt in Deiner vorhandenen, aber momentan sehr schlecht lesbaren Batchdatei eine Umstellung auf den Windows.Zeichensatz (Befehl "CHCP 1252").
Und ja, soweit ich weiss, kann man/frau die Token einer FOR/F-Anweisung in Anführungszeichen setzen.
Hilfreich dabei wäre das Wissen, was in diesem Falle der Token ist.

Magst Du Deinen Schnipsel mal veröffentlichen oder geht das nicht, solange er dem Nobelpreiskomittee in Stockholm zur Prüfung vorliegt?

Grüße
Biber
Bitte warten ..
Mitglied: TobiisFreaky
15.12.2008 um 09:56 Uhr
haha

hier der Batch-Inhalt:

Hier die readDir.bat:
01.
DIR /s /b /ad E:\A62 > C:\readDIR_A62.txt

Und hier die Batch, die die ACL editieren soll:
01.
FOR /F "delims=" %%i IN (C:\readDIR_A62.txt) DO @cacls %%i /E /G BENUTZERNAME:F 
02.
pause
EDIT

ach wie blöd ich bin... delims hatte ich ja bereits in Verwendung, aber ich hätte mal besser ein paar Leerzeichen machen sollen grml..


01.
FOR /F "delims=   " %%i IN (C:\readDIR_A62.txt) DO @cacls "%%i" /E /G BENUTZERNAME:F 
02.
pause
Das ist der Code nun und er funktioniert.

Vielen Dank Jungs!

/EDIT
Mit freundlichen Grüßen

Tobi
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Erkennung und -Abwehr
Lokale Virenprüfstation : Windows 10: Ändern von Einstellungen verhinden (5)

Frage von TryAndSolve zum Thema Erkennung und -Abwehr ...

Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (13)

Frage von Motte990 zum Thema Microsoft Office ...