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 Variable auslesen und Text ab einem bestimmten Zeichen in eine neue Variable schreiben

Mitglied: 3xplor3r

3xplor3r (Level 1) - Jetzt verbinden

13.11.2011 um 14:36 Uhr, 4262 Aufrufe, 7 Kommentare

Hallo liebe Gemeinde,

ich möchte aus einer Variable, die innerhalb einer FOR-Schleife deklariert wird ab einem bestimmten Zeichen den gesamten nachfolgenden Text in die gleiche oder eine andere Variable verschieben.

for /R "%download%" %%i in (*.mp3) do (
for /F "tokens=* delims=\" %%j in ("%%i") do ?)

In dieser geschachtelten FOR-Schleife lese ich alle *.mp3 Dateien ab dem Verzeichnis %download% aus. Jetzt möchte ich diese Dateien noch neu encodieren, was dann an der Stelle des ? folgen würde. Da allerdings x mp3-Dateien verarbeitet werden, bekomme ich ein Problem mit den Dateinamen, da lame nur ein statisches Ausgabeverzeichnis unterstützt.

lame -b 192 -B 256 -m j -V 2 -h --vbr-new -t --priority 4 --brief "%%i" "%upload%%%k"

Dieses wäre das %upload%-Verzeichnis bspw. C:\Dokumente und Einstellungen\Upload. Nun würde das Encodieren dazu führen, dass eine mp3-Datei mit dem Namen Upload.mp3 in diesem Verzeichnis erzeugt werden würde. Daher jetzt der Gedanke, dass ich in die Variable %%k den Dateinamen des Musikstückes speichere. Die Musikdatei liegt bspw. im Verzeichnis C:\Dokumente und Einstellungen\Download\Titel1.mp3. Dazu wird nun der Teil benötigt, der hinter dem letzten \ steht. Mit anderen Worten muss ich das letzte \ oderr wenn man von hinten liest das erste \ finden und dann den Text der dahinter oder davor folgt in eine neue Variable speichern, es kann auch die gleiche sein, falls technisch möglich.

Darauf hin könnte ich beim Aufruf von lame für das Ausgabeverzeichnis diese Variable anhängen, wodurch der Name des Titels gleich bleibt.

Nur weiß ich im Moment noch nicht, wie ich das realisieren könnte.

LG
3x
Mitglied: pieh-ejdsch
13.11.2011 um 15:36 Uhr
moin 3xplor3r,

wenn Du bestimmte Befehle an der CMD benutzt - hilft bei Problemen die ...

... ja die Hilfe (gleich mit den Expandierten ausortiert)
01.
for/?|find /i "%~nxI"
Friemler hat das hier im Tutorial zur FOR-Schleife nochmal zusammengefasst.

Gruß Phil
Bitte warten ..
Mitglied: Biber
13.11.2011 um 15:38 Uhr
Moin 3xplor3r,

willkommen im Forum.

Wenn ich deine Anforderung richtig verstanden habe, dann ist keine Zwischenvariable nötig.
Ich würde es nach folgendem proof of concept am CMD-Prompt umsetzen:
[Anmerkung: Da du so lange Pfade verwendest, sollest du dir mit "Set mode con cols=166 lines=55" ein weing Platz zum Testen schaffen]
>set "lameparms=-b 192 -B 256 -m j -V 2 -h --vbr-new -t --priority 4 --brief"

(=15:25:40  d:\Biber\temp=)
>set "upload=x:\oder y\upload" & set "download=C:\Dokumente und Einstellungen\Download"

(=15:25:55  d:\Biber\temp=)
>@for /R "%download%" %i in (*.mp3) do @echo DEMO: lame %lameparms% "%~i" "%upload%\%~nxi"
DEMO: lame -b 192 -B 256 -m j -V 2 -h --vbr-new -t --priority 4 --brief "C:\Dokumente und Einstellungen\Download\Der letzte Titel.mp3" "x:\oder y\upload\Der letzte
tel.mp3"
DEMO: lame -b 192 -B 256 -m j -V 2 -h --vbr-new -t --priority 4 --brief "C:\Dokumente und Einstellungen\Download\Der Titel 1.mp3" "x:\oder y\upload\Der Titel 1.mp3"
DEMO: lame -b 192 -B 256 -m j -V 2 -h --vbr-new -t --priority 4 --brief "C:\Dokumente und Einstellungen\Download\Der Titel 2.mp3" "x:\oder y\upload\Der Titel 2.mp3"
Sollte also mit dem Einzeiler, der mit "@FOR /R "%download%"...." beginnt nach Definition der drei Variablen ohne weiteren Heckmeck ausreichen.

Grüße
Biber
Bitte warten ..
Mitglied: 3xplor3r
13.11.2011 um 17:10 Uhr
Hallo Biber,

danke erstmal für Deine Antwort. Ich habe zum Test

@for /R "%download%" %%i in (*.mp3) do echo "%%i\%~nxI"

in die Batch-Datei eingetragen. Als Ausgabe hätte ich bspw. Der Titel 1.mp3 erwartet. Leider konnte die Batch-Datei nicht ausgeführt werden. Lasse ich %~nxI weg, wird der gesamte Pfad ausgegegben.
Bitte warten ..
Mitglied: Biber
13.11.2011 um 17:19 Uhr
Moin 3xplor3r,

in einer Batchdatei müssen die Prozentzeichen bei allen Laufvariablen verdoppelt werden, also auch %%~nxi (statt %~nxi).

Und bitte beachten: bei diesen dynamischen Variablen wird zwischen Klein- und Grossschreibung unterschieden, also ist %i <>%I (oder %a<>%A)

Grüße
Biber
Bitte warten ..
Mitglied: 3xplor3r
13.11.2011 um 18:49 Uhr
Ahh das habe ich übersehen, danke Dir. Die folgende Lösung funktioniert so wie sie soll.

@for /R "%download%" %%i in (*.mp3) do lame %lame% "%%i" "%upload%\%%~nxi"

So werden die Dateien in das Verzeichnis %upload%\01 Der Titel.mp3 geschrieben.
Bitte warten ..
Mitglied: Skyemugen
14.11.2011 um 07:48 Uhr
[OT]Aloha Jungs!

Was'n los hier, seht ihr schon Dinge, die nicht da sind oder warum gibt niemand dem TE den Vorschlag zur Ansichtsverbesserung der Skriptschnipsel im Forum per <code></code> Codeformatierung?

Ihr lasst nach

greetz André[/OT]
Bitte warten ..
Mitglied: Biber
14.11.2011 um 08:07 Uhr
[OTii]
Zitat von Skyemugen:
[OT]Aloha Jungs!

Was'n los hier, seht ihr schon Dinge, die nicht da sind oder warum gibt niemand dem TE den Vorschlag zur Ansichtsverbesserung
der Skriptschnipsel im Forum per <code></code> Codeformatierung?
Haben wir gesehen. Das Verfahren wurde wegen Geringfügigkeit eingestellt.
... drei verschüchterte skizzerten Halbzeilen.... Schwamm drüber.

Zudem hat er das noch gestern am späten Nachmittag auch von bastla aufs Brot bekommen.

greetz André[/OT]
Grüße zurück
Biber
[/OTii]
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Word bestimmt Sprache selbst
gelöst Frage von honeybeeMicrosoft Office1 Kommentar

Hallo, habe in Word 2016 ein nerviges Problem: Auf meinem Computer (Windows 10) sind zwei Sprachen installiert: Deutsch und ...

Mac OS X
Safari öffnet bestimmt Seite nicht
Frage von tomi93Mac OS X2 Kommentare

Hallo , ich habe an einem iMac bei uns im Unternehmen das Problem das Safari dort eine bestimmte Seite ...

Windows Server

Freigabe führt nicht zur Schreib-Berechtigung

gelöst Frage von ElmaCxWindows Server11 Kommentare

Hallo miteinander, ich bin seit 2 Tagen an einer Berechtigungs Problematik zu Gange, bei welcher ich die Lösung nicht ...

Server

Freenas schlechte Schreib Performance bei NFS

Frage von janosch12Server17 Kommentare

Hallo, ich habe momentan das Problem das die Performance bei NFS zu wünschen über lässt Schreiben max 100 Mbit/s ...

Neue Wissensbeiträge
Windows Server

Zähe Update-Installation auf Windows Server 2016

Information von kgborn vor 1 TagWindows Server4 Kommentare

Mir sind in der Vergangenheit immer wieder Beschwerden von Admins unter die Augen gekommen, die sich über die doch ...

Humor (lol)
Turnschuhe per Firmware lahmlegen
Information von Henere vor 2 TagenHumor (lol)8 Kommentare

Und was kommt demnächst ? Bekomme ich kein Klopapier mehr, weil der Spender einem DDOS unterliegt ? :-) Ich ...

Sicherheit

Sicherheitsrisiko in WinRAR und Co. durch Schwachstelle in UNACEV2.DLL

Information von kgborn vor 2 TagenSicherheit

In der seit 2005 nicht mehr aktualisierten Bibliothek UNACEV2.DLL gibt es eine Path-Traversal-Schwachstelle. Diese ermöglicht es, bei ACE-Archiven Dateien ...

Internet

CDU Propaganda: Urheberschutz im Internet - Ende des digitalen Wild-West

Information von Frank vor 3 TagenInternet6 Kommentare

Hallo Administratoren, aus einem Kommentar heraus habe ich folgenden Beiträge von Herr Sven Schulze und Axel Voss (beide CDU ...

Heiß diskutierte Inhalte
Windows Tools
Dateiname Automatisch auf PDF Klartext oder als Barcode abdrucken
Frage von spongebob24Windows Tools29 Kommentare

Hallo Zusammen, habe eine tolle Anforderung bekommen. Ich sollte auf mehrere PDF Dateien Automatisch einen Stempel anbringen lassen. Toll ...

Internet
SDSL oder ADSL - Preis-Leistungs-Verhältnis
Frage von ZeppelinInternet22 Kommentare

Wehrte Community, der Unterschied dieser beiden Techniken ist recht einfach erklärt. Das S, steht für Synchron (Gleich) und das ...

Microsoft Office
MicroSoft und seine Lizenzen
Frage von ZeppelinMicrosoft Office19 Kommentare

Wehrte Community, ich wende mich an die Community weil MicroSoft dazu keine Stellung nehmen möchte. Ich öffne mein Web-Browser ...

Hyper-V
Setup zu 2019 Hyper-V Coreserver gesucht
Frage von DerWoWussteHyper-V15 Kommentare

Moin. Ich habe unter die Möglichkeit, Hyper-V-Server 2012 R2 runterzuladen! Tolle Wurst, Microsoft! Nehme ich eine andere Quelle, nämlich ...