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

Zeichenkette durch Batch ersetzen

Frage Entwicklung Batch & Shell

Mitglied: Daffman

Daffman (Level 1) - Jetzt verbinden

11.08.2010 um 08:47 Uhr, 4345 Aufrufe, 8 Kommentare, 1 Danke

Hallo! ich habe mich schon des öfteren bei Euch gemeldet und diesmal habe ich wieder eine Frage, dabei geht es ums ERsetzen von TExtabschnitten/Zeichenketten

Hallo @ all!

Also meine Frage diesmal ist, wie kann ich mit hilfe einer Batch eine bestimmte Zeichenkette in einer *.txt Datei ersetzen??

ich habe mich ein bisschen durch dieses Forum durchgelesen (gelesene Threats: 1., 2.), aber nie wirklich das richtige erhalten!

Also meine Ausgangsdatei ist zum Beispiel 1.txt:
01.
Interpret: Merle Haggard, Title: Mama Tried, Ort: D:\My%20Downloads\Merle%20Haggard%20-%20Mama%20Tried.mp3
So und jetzt würde ich gerne die Zeichenkette "%20" in einen normalen Abstand umwandeln: " ".

ich habe es schon so probiert (angenommen die Variable x1 hat bereits den Wert: D:\My%20Downloads\Merle%20Haggard%20-%20Mama%20Tried.mp3) :

01.
echo %x1:%20= %
bzw.
01.
echo %x1:^%20= %
kennt jemand von euch klugen Köpfen einen richtigen Lösungsweg??

ich wäre Euch zu tiefst dankbar!!!

MFG Alexander
Mitglied: LotPings
11.08.2010 um 13:19 Uhr
Moin Alexander,

versuchs mal so:
01.
@Echo On 
02.
Setlocal EnableDelayedExpansion 
03.
Set "X1=Interpret: Merle Haggard, Title: Mama Tried, Ort: D:\My%%20Downloads\Merle%%20Haggard%%20-%%20Mama%%20Tried.mp3" 
04.
Set X1 
05.
Set "X2=!X1:%%20= !" 
06.
set X2
Gruß
LotPings
Bitte warten ..
Mitglied: pieh-ejdsch
11.08.2010 um 16:24 Uhr
Moin Alexander,

wie LotPings schon geschrieben hat mit doppelten Prozenzeichen im Batch

wenn die Zeilen in der 1.txt stehen etwa so

01.
set Datei="E:\AdminHelp\1.txt" 
02.
for /f "usebackq delims=" %%i in (%Datei%) do (set "line=%%i" 
03.
	echo %%i 
04.
	setlocal enabledelayedexpansion 
05.
	echo !line:%%20= ! 
06.
	endlocal 
07.
)
Bitte warten ..
Mitglied: Daffman
12.08.2010 um 07:49 Uhr
guten morgen!!

naja mein problem ist aber, dass ich das %20 nicht beeinflussen kann, das ist leider so vorgegeben, bzw schon in den dateien eingeschrieben. und es zu ändern ist eine sysifus (?) arbeit, weil es sich um rd 500 dateien handelt.

gibt es denn keine möglichkeit mit nur einem %??

lg alexander

PS: eine frage: wann verwende ich echo !line:%%20= ! und wann echo %line:%%20= %??
Bitte warten ..
Mitglied: icsat
12.08.2010 um 09:19 Uhr
Hallo Daffman,

warum funktioniert die Lösung von pieh-ejdsch bei Dir nicht? Hast Du Dir die Ausgabe auf der Console angesehen?
Du musst das Ergebnis allerdings noch in eine Datei ausgeben, satt auf die Console.

Die Antwort auf Deine P.S. Frage findest Du unter:
01.
setlocal /?
und
01.
set /?
Im Beispiel von pieh-ejdsch würde in Zeile 5 ein "echo %line%" ein "%line%" ausgeben, da die Variable line innerhalb der for-Schleife, in welcher sie gesetzt wurde, über % nicht mit dem neuen Inhalt verwendbar ist. Mit ! hingegen schon, wenn die verzögerte Erweiterung von Umgebungsvariablen eingeschaltet wurde.

Gruß icsat
Bitte warten ..
Mitglied: icsat
12.08.2010 um 09:34 Uhr
Ungetestet auf Basis von pieh-ejdsch!
Sollte Dir !VAR! und %VAR% näher bringen und Dein Ergebnis in eine neue Datei schreiben:

01.
@echo off 
02.
setlocal enabledelayedexpansion 
03.
 
04.
set "eingabe=E:\AdminHelp\1.txt" 
05.
set "ausgabe=E:\AdminHelp\1_neu.txt" 
06.
set "line=Initialwert fuer Line" 
07.
 
08.
if exist %AUSGABE% del %AUSGABE% 
09.
 
10.
echo Vor der FOR-Schleife hat LINE unter Verwendung von %% den Wert: %LINE% 
11.
 
12.
for /f "usebackq delims=" %%i in (%EINGABE%) do (set "line=%%i"  
13.
	echo In der FOR-Schleife hat LINE unter Verwendung von %% den Wert: %LINE% 
14.
        echo In der FOR-Schleife hat LINE unter Verwendung des Ausrufezeichens den Wert: !LINE! 
15.
	echo !line:%%20= ! >> %AUSGABE% 
16.
17.
 
18.
echo Nach der FOR-Schleife hat LINE unter Verwendung von %% den Wert: %LINE% 
19.
 
20.
echo Dein Ergebnis steht in %AUSGABE% 
21.
 
22.
pause 
23.
 
24.
endlocal 
Überarbeitet wegen Hinweisen von Phil.
  • %datei% im FOR=> %EINGABE%
  • % in Echos => %%
  • ! in Echo => Ausrufezeichen
Bitte warten ..
Mitglied: pieh-ejdsch
12.08.2010 um 11:32 Uhr
moin Daffman,

im Batch ist es zur Darstellung/ zum Abruf von einem Prozentzeichen erforderlich ein doppeltes Prozentzeichen hinzuschreiben.

das hat den Hintergrund der Ordentlichen Auflösung von BatchParametern welche ja in der CMD-Line so nicht vorhanden sind.
auch unter dem Punkt einfache % doppelte %%

zum Testen im CMD-Fenster:
dir /b /s "*%20.*" "*%20*.*"
damit diese Zeile Im Batch funktioniert muss sie so lauten
01.
dir /b /s "*%%20.*" "*%%20*.*"
wenn Du die MP3 Dateien ohne Umweg umbenennen möchtes wäre der entsprechende Batch:
01.
@echo off&setlocal 
02.
set Ornder="E:\Der wo die Musik drin is" 
03.
pushD %Ornder% 
04.
for /f "delims=" %%i in ('dir /b /s "*%%20.*" "*%%20*.*"') do (set "line=%%i" 
05.
	setlocal enabledelayedexpansion 
06.
	:: Zum Scharfmachen das echo entfernen 
07.
	echo ren "!ine!" "!line:%%20= !" 
08.
	endlocal 
09.
10.
popD
@iscat Deine Variable Datei ist nit gesetzt und das AusrufeZeichen wird nicht angezeigt

Gruß Phil
Bitte warten ..
Mitglied: icsat
12.08.2010 um 13:17 Uhr
Hi Phil,

da hat ja mal wieder der Copy&Paste- und gleichzeitig der ZuFaulZumTesten- in Verbindung mit dem Nachlässigkeits-Teufel zugeschlagen.
Ich gelobe Besserung und Danke für den Hinweis.

Ich habe das ganze oben korrigiert.

Gruß icsat
Bitte warten ..
Mitglied: Daffman
15.08.2010 um 11:42 Uhr
hii!
danke für eure hilfe.
es hat alles wunderbar funktioniert!!

mit einem großen dankeschön und vielen grüßen:
alexander
Bitte warten ..
Ähnliche Inhalte
Windows 10
Vbs oder batch zum Ändern von Dateinamen ab Zeichenkette
gelöst Frage von vbaGastWindows 1013 Kommentare

Guten Tag, nach meinen bisherigen Recherchen wird das Problem mit Batch eher schwierig zu lösen sein. Daher würde auch ...

Batch & Shell
XLXS zu CSV + Wert ersetzen - Batch
gelöst Frage von jochengBatch & Shell11 Kommentare

Hallo Leute ich habe ein Problem Ich brauch ein kleines Batch Script das ich täglich laufen lassen kann das ...

Batch & Shell
Tilde Zeichen per Batch ersetzen
gelöst Frage von Blackhawk386Batch & Shell6 Kommentare

Hi! Ich habe eine Datei in Textform, in der Umlaute per Batch umgewandelt werden müssen. Dazu habe ich hier ...

Batch & Shell
Zeile eine Datei per batch ersetzen
Frage von duckknightBatch & Shell2 Kommentare

Hallo die Damen und Herren, ich bin nun bei allen Suchanfragen immer wieder hier gelandet, habe aber das was ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 4 StundenInternet2 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 8 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 8 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 12 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Heiß diskutierte Inhalte
Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement21 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...