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

ziffern verdrehen

Frage Entwicklung Batch & Shell

Mitglied: anokkona

anokkona (Level 1) - Jetzt verbinden

27.05.2009, aktualisiert 19:05 Uhr, 3148 Aufrufe, 4 Kommentare

Hallo mitteinander

So, wenn ich in einer txt in der text steht gerne position der buchstaben ändern möchte. Wie kann ich das machen?

Also zum beispiel:

WasseR ---> RasseW

HallO ---> OallH

Aber in ner txt wo ich nicht weis wie viele buchstaben die hatt...


Kann ich das mit For Tokens Delims Lösen? ---> Wenn ja, wie?



Ich danke allen antworten

LG Anok
Mitglied: bastla
27.05.2009 um 19:15 Uhr
Hallo anokkona!

Da Du keine genaueren Angaben zu "position der buchstaben ändern" machst, nur mal Dein erstes Beispiel:
01.
@echo off & setlocal 
02.
set "Wort=WasseR" 
03.
set "Vertauscht=%Wort:~-1%%Wort:~1,-1%%Wort:~0,1%" 
04.
echo %Wort% --^> %Vertauscht%
Näheres in der Hilfe zu "set" (Stichwort: "Ersetzen von Umgebungsvariablen") ...

Wenn der Vorgang für jede Zeile einer Textdatei erfolgen soll, eine "for /f"-Schleife verwenden, schematisch etwa:
01.
@echo off & setlocal 
02.
for /f "delims=" %%i in (D:\Originaldatei.txt) do call :ProcessLine "%%i" 
03.
goto :eof 
04.
 
05.
:ProcessLine 
06.
set "Wort=%~1" 
07.
set "Vertauscht=%Wort:~-1%%Wort:~1,-1%%Wort:~0,1%" 
08.
>>D:\NeueDatei.txt echo %Vertauscht% 
09.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: anokkona
28.05.2009 um 22:17 Uhr
OK, danke funktioniert tip top.

Ausser bei der schlefe, das funktioniert nicht, ich habe alles ausprobiert, aber es führt den befehl immer nur mit dem letzten wort durch.



LG Anok
Bitte warten ..
Mitglied: bastla
28.05.2009 um 22:38 Uhr
Hallo anokkona!
ich habe alles ausprobiert, aber es führt den befehl immer nur mit dem letzten wort durch.
Hast Du auch versucht, meinen Code zu verwenden ?

Dieser geht davon aus, dass in jeder Zeile nur ein Wort steht - sind es mehrere Wörter pro Zeile (und soll bei jedem der Tausch erfolgen), müsste das etwa so aussehen:
01.
@echo off & setlocal 
02.
set "Ein=D:\Originaldatei.txt" 
03.
set "Aus=D:\NeueDatei.txt" 
04.
 
05.
if exist "%Aus%" del "%Aus%" 
06.
for /f "usebackq delims=" %%i in ("%Ein%") do call :ProcessLine "%%i" 
07.
type "%Aus%" 
08.
goto :eof 
09.
 
10.
:ProcessLine 
11.
set Zeile= 
12.
for %%a in (%~1) do call :ProcessWord "%%a" 
13.
>>"%Aus%" echo %Zeile:~1% 
14.
goto :eof 
15.
 
16.
:ProcessWord 
17.
set "Wort=%~1" 
18.
set "Zeile=%Zeile% %Wort:~-1%%Wort:~1,-1%%Wort:~0,1%" 
19.
goto :eof
Grüße
bastla
Bitte warten ..
Mitglied: anokkona
04.06.2009 um 11:06 Uhr
OK jezt geht alles, vielen vielen Dank

LG Anok
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (16)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

CMS
Lokales Wordpress im LAN - wie aufsetzen? (15)

Frage von Static zum Thema CMS ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...

RedHat, CentOS, Fedora
Fedora, RedHat, Centos: DNS-Search Domain setzen (13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...