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, 5464 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
Microsoft Office
Automatischer Datenimport aus csv Datei in Access DB - Wo zu ändern? (1)

Frage von Mejestic12 zum Thema Microsoft Office ...

Windows Userverwaltung
Mit Powershell am AD Controller die aktiven Usersessions auslesen (1)

Frage von arduino zum Thema Windows Userverwaltung ...

Windows Installation
gelöst Vorinstalliertes Betriebssystem auslesen (BIOS) (14)

Frage von Yauhun zum Thema Windows Installation ...

Microsoft Office
gelöst Excel 2013: Nur einem bestimmten Personenkreis erlauben, Daten zu ändern (3)

Frage von newbie58 zum Thema Microsoft Office ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Systemdateien
NTFS und die Defragmentierung (26)

Frage von WinLiCLI zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Zwei Subnetze mit je eigenem Router und Internetzugang verbinden (18)

Frage von hannsgmaulwurf zum Thema LAN, WAN, Wireless ...

Windows Server
WIndows Server 2016 core auf dem Intel NUC NUC5i5RYK i5 5250U (17)

Frage von IxxZett zum Thema Windows Server ...