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, 5470 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 ..
Ähnliche Inhalte
C und C++
gelöst Anzahl der Buchstaben in einem String Element Array C++ (3)

Frage von Protected zum Thema C und C ...

Batch & Shell
String Zeichenpaare auslesen und bearbeiten (6)

Frage von ahstax zum Thema Batch & Shell ...

Batch & Shell
String aus Spalte in csv auslesen und ersetzen (4)

Frage von mIsSteR zum Thema Batch & Shell ...

Batch & Shell
gelöst String in TXT suchen, überprüfen und wenn noetig aendern ? (4)

Frage von buliwyf zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Windows Server
Zertifikat am DC erneuern funktioniert nicht (13)

Frage von takvorian zum Thema Windows Server ...