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

Suchen und Ersetzen eines Zeichensatzes in einem Dateipfad

Frage Entwicklung Batch & Shell

Mitglied: 3xplor3r

3xplor3r (Level 1) - Jetzt verbinden

13.11.2011, aktualisiert 14.11.2011, 3027 Aufrufe, 8 Kommentare

Hallo Gemeinde,

ich habe gerade nochmal einen anderen Gedanken gehabt und schon probiert, bin aber noch nicht zum Erfolg gekommen.

01.
for /R "%download%" %%i in (*.mp3) do lame %lame% "%%i" "%%k"
Die Umgebungsvariable %download% repräsentiert den folgenden Pfad.

01.
C:\Dokumente und Einstellungen\iheinrich\Eigene Dateien\Musik\Workarea\Workspace\Download
Jetzt könnten weitere Unterverzeichnisse existieren. Nehmen wir an es würde ein Unterverzeichnis existieren.

01.
C:\Dokumente und Einstellungen\iheinrich\Eigene Dateien\Musik\Workarea\Workspace\Download\Test
In der Variable %%i steht dieser Pfad. Jetzt suche ich schon den ganzen Nachmittag nach einer Möglichkeit das Wort "Download" durch "Upload" zu ersetzen. Ein einfaches Suchen und Ersetzen würde dazu führen, dass auch andere Ordner bspw. Download\Test\Download auch ersetzt werden. Das soll jedoch nicht geschehen. Jetzt gibt es für mich zwei Möglichkeiten.

1) Entweder man sucht jetzt den Teil zwischen dem 7 und 8 "\" und plaziert dort den Zeichensatz "Upload".
2) Man sucht von links den ersten Zeichensatz "Download" und ersetzt diesen mit "Upload"

LG
3x
Mitglied: bastla
13.11.2011 um 20:22 Uhr
Hallo 3xplor3r und willkommen im Forum!
Ein einfaches Suchen und Ersetzen würde dazu führen, dass auch andere Ordner bspw. Download\Test\Download auch ersetzt werden
Nicht, wenn Du
C:\Dokumente und Einstellungen\iheinrich\Eigene Dateien\Musik\Workarea\Workspace\Download
durch
C:\Dokumente und Einstellungen\iheinrich\Eigene Dateien\Musik\Workarea\Workspace\Upload
ersetzt.

Ansonsten könntest Du vielleicht etwas genauer erklären, was Du eigentlich erreichen willst ...

Trotzdem noch zu Idee 1): Ungetestet etwa so:
01.
for /f "tokens=1-8* delims=\" %%m in ("%%i") do ( 
02.
    if /i "%%t"=="Download" ( 
03.
        echo Mach was mit "%%m\%%n\%%o\%%p\%%q\%%r\%%s\Upload\%%u" 
04.
    ) else ( 
05.
        echo Mach was mit "%%i" 
06.
07.
)
Es sollte dann aber schon für alle Dateien mindestens 8 Ordnerebenen geben ...

Grüße
bastla

P.S.: Darf ich Dich einladen, für Batchzeilen (oder etwa auch Textbeispiele, die unverändert dargestellt werden sollen) "Code"-Formatierung zu benutzen?
Bitte warten ..
Mitglied: 3xplor3r
14.11.2011 um 11:37 Uhr
Hallo Bastla,

natürlich nehme ich Deine Einladung. Ich habe während der Thread-Erstellung schon danach gesucht. Dann hatte ich wiederum einen anderen Thread gesehen, in dem ein User [code] Code [/code] verwendet hatte, was jedoch nicht funktionierte. Aber ich probiere es gleich nochmal selbst aus.

Du hast eigentlich in meinem Gefasel alles richtig interpretiert. Jetzt wollte ich statt dem ersten ECHO-Befehl

01.
set %%q="Upload"
schreiben, was auch ohne Syntaxfehler läuft. Allerdings wird die Variable nicht ersetz, was durch ein erneutes

01.
echo "%%j\%%k\%%l\%%m\%%n\%%o\%%p\%%q\%%r" 
zu der Ausgabe
01.
C:\Dokumente und Einstellungen\iheinrich\Eigene Dateien\Musik\Workarea\Workspace\Download\*
führt. Nebenbei hätte ich auf Deine Syntax auch kommen müssen. Den Ansatz hatte ich eigentlich schon, habe es dann aber wieder verworfen. Hier nochmal der Code in Gänze.

01.
@for /R "%download%" %%i in (*.mp3) do ( 
02.
  for /f "tokens=1-8* delims=\" %%j in ("%%i") do (  
03.
    if /i "%%q"=="Download" (  
04.
      echo IF-Zweig "%%j\%%k\%%l\%%m\%%n\%%o\%%p\%%q\%%r" 
05.
      set %%q="Upload" 
06.
      echo IF-Zweig "%%j\%%k\%%l\%%m\%%n\%%o\%%p\%%q\%%r" 
07.
    ) else (  
08.
      echo ELSE-Zweig "%%i"  
09.
10.
11.
12.
pause
LG
3x
Bitte warten ..
Mitglied: Skyemugen
14.11.2011 um 14:41 Uhr
[OT]Aloha 3x ...

du hättest mal auf bastlas link klicken sollen, dann wäre dir aufgefallen, dass es bei uns nicht [code][/code] sondern <code></code> aktiv ist bitte für unsere Augen nachträglich ändern, danke =)

greetz André[/OT]
Bitte warten ..
Mitglied: bastla
14.11.2011 um 14:42 Uhr
Hallo 3xplor3r!

Einer Laufvariablen wie %%q kannst Du mit set keinen Wert zuweisen - da Du aber ohnehin den gewünschten Wert kennst (bzw dafür kennen musst), spricht ja eigentlich nix dagegen, diesen gleich direkt einzufügen:
01.
            echo IF-Zweig "%%j\%%k\%%l\%%m\%%n\%%o\%%p\Upload\%%r"
Alternativ kannst Du den Wert auch vorweg einer Variablen zuweisen und dann diese verwenden, also:
01.
set "Up=Upload" 
02.
... 
03.
            echo IF-Zweig "%%j\%%k\%%l\%%m\%%n\%%o\%%p\%Up%\%%r"
Grüße
bastla
Bitte warten ..
Mitglied: 3xplor3r
14.11.2011 um 14:52 Uhr
Hallo bastla,

ich habe den Wert jetzt einer Umgebungsvariable zugewiesen. Wollte das Anfängercoding nur so variabel wie möglich halten. Aber so gehts auch. Die Verzeichnisstruktur sollte sich nicht ändern. Vielen Dank.
Bitte warten ..
Mitglied: bastla
14.11.2011 um 15:02 Uhr
Hallo 3xplor3r!
Wollte das Anfängercoding nur so variabel wie möglich halten.
Das ginge aber, je nachdem, wozu die ganze Aktion dienen soll, auch noch variabler ...

Grüße
bastla
Bitte warten ..
Mitglied: 3xplor3r
14.11.2011 um 15:12 Uhr
Ist es jetzt möglich die Laufvariablen einer normalen Variablen zuzuweisen?

01.
  set var="%%j\%%k\%%l\%%m\%%n\%%o\%%p\Upload\%%r"
LG
3x
Bitte warten ..
Mitglied: bastla
14.11.2011 um 15:46 Uhr
Hallo 3xplor3r!
Ist es jetzt möglich die Laufvariablen einer normalen Variablen zuzuweisen?
Ja.

Falls es Dir nicht aufgefallen sein sollte: Ich habe Dich jetzt schon zweimal nach dem Verwendungszweck gefragt - magst Du den vielleicht doch noch beschreiben?

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Linux Tools
Bash: suchen und ersetzen
Frage von SIPSIPLinux Tools14 Kommentare

Hallo zusammen Möchte aus einer riesigen HTML Datei folgenden Strings ersetzen: ^M\ Nun habe ich dieses kleine Script erstellt, ...

Windows Tools
Suche Programm zum dateien suchen und Ersetzen mit Wildcat Suche
gelöst Frage von sfera-haizaWindows Tools5 Kommentare

Grüßt euch, ich nutze zzT. das Programm InfoRapid Suchen & Ersetzen um HTML / PHP Dateien zu durchsuchen bzw. ...

Batch & Shell
CMD: Suchen, Ersetzen und Hochzählen
gelöst Frage von ralfkauskBatch & Shell3 Kommentare

Hallo zusammen Ich habe folgendes Problem In einer Datei muss ein Wert gefunden, auf Korrektheit geprüft und evtl. ersetzt/geändert ...

Batch & Shell
Regwert suchen und ersetzen?
Frage von busteronBatch & Shell7 Kommentare

Hallo alle zusammen, ich hab mal wieder ne Frage! Wie kann ich die komplette Registry über eine Batch nach ...

Neue Wissensbeiträge
Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 5 StundenLinux12 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 1 TagHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 2 TagenMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Heiß diskutierte Inhalte
Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux12 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Windows 10
Alle Programme mit bestimmtem Namen automatisch (per GPO) deinstallieren
gelöst Frage von lordofremixesWindows 1012 Kommentare

Hallo zusammen, gibt es eine Möglichkeit, alle Programme beginnend mit z.B. "Dell" im Namen per Script und somit per ...