WinFuture-Forum.de: Problem mit Bachdatei / Lame - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Problem mit Bachdatei / Lame


#1 Mitglied ist offline   thron 

  • Gruppe: Mitglieder
  • Beiträge: 1
  • Beigetreten: 23. November 16
  • Reputation: 0

geschrieben 23. November 2016 - 18:16

Hallo,

habe ein Problem und hoffe hier auf Hilfe.
Ich habe mir mal eine Batchdatei zusammengeschrieben um Wav-Dateien in mp3-Dateien umzuwandeln. Das funktioniert auch soweit aber leider ohne Pfadangaben.

Hier der Code:
for /R %%f in (*.wav) do (
"C:\lame\lame.exe" --preset cbr 256 "%%f" "%%~dpnf.mp3"
del %%f
)



Ich möchte gerne, dass die Batch-Datei im Verzeichnis C:\tools\ liegt und von dort aus gestartet wird. Die umzuwandelnden Daten liegen auf der Partition D:\AudioFiles\ in verschiedenen Ordnern (bspw. Aufnahme1, Aufnahme2, etc). Es kommen auch permanent welche dazu. Jetzt soll beim Klicken der Batchdatei die alle wav-Files im Ordner AudioFiles und den Unterordnern umwandeln und auch wieder in diese speichern.

Wie bekomme ich das denn hin, habe absolut kein Plan...??

Vielen Dank schon im Voraus für Eure Mühe...

Gruß
0

Anzeige



#2 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 23. November 2016 - 19:11

Hast Du schon versucht, einfach "D:\Audiofiles\*.wav" in den Schleifenkopf zu stecken statt dem blanken *.wav jetzt?

Ansonsten einfach mal ein echo vor die beiden Codezeilen schreiben und das Ding ausführen und gucken was passiert.

... das mit dem del solltest Du eh sein lassen, bis es richtig funktioniert. Ich seh da schon das Problem, daß die Batchdatei schon deswegen nicht funktioniert, weil sie keine WAV-Dateien mehr findet. :huh:
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#3 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.591
  • Beigetreten: 14. August 15
  • Reputation: 392

geschrieben 23. November 2016 - 21:17

ich hab deinen Script gleich^^

@echo off

set lame_path=C:\lame\lame.exe
set audio_file_dir=D:\AudioFiles

for /r "%audio_file_dir%" %%i in ("*.wav") do (
     %lame_path% --preset cbr 256 "%%i" "%%~dpni.mp3"
     del /f /s /q "%%i" >nul
)

set lame_path=
set audio_file_dir=


das müsste so klappen

Beitrag anzeigenZitat (RalphS: 23. November 2016 - 19:11)

Ich seh da schon das Problem, daß die Batchdatei schon deswegen nicht funktioniert, weil sie keine WAV-Dateien mehr findet. :huh:
das Vorhandensein einer .wav Datei wird doch schon beim for geprüft. Ansonsten gehts gar nicht erst in die Schleife. Ich hab aber eine mögiche Fehlermeldung gleich mit unterdrückt.

Dieser Beitrag wurde von Gispelmob bearbeitet: 23. November 2016 - 21:49

AMD Ryzen 9 5950X, Asus ROG Strix X570-F Gaming, 32GB Corsair DDR4-3200, Asus Geforce GTX 3060 12GB, Creative Sound Blaster AE-7, 240GB SSD, 500GB SSD, 3x 1TB SSD, Win11 Home, 4x Acer G246HL Bbid, Logitech MX518 Gaming Mouse, Logitech G440 Mousepad, Logitech K120 Keyboard, Razer Tiamat 7.1 V2 Headset, Creative Inspire 5.1 5300 Soundsystem
0

#4 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.895
  • Beigetreten: 20. Juli 07
  • Reputation: 1.126
  • Geschlecht:Männlich
  • Wohnort:Zuhause
  • Interessen:Ja

geschrieben 23. November 2016 - 21:52

%~d: drive; %~p: Pfad, ab \; %~n: Basename; %~x: Extension.

Das sind Modifikatoren. Die kommen vor die Variable.

Also erst das %, dann ~, dann einer oder mehrere Modifikatoren, DANN die Variable:

also %%~dpni.mp3, wenn %%i die Variable war.

Das schreibt die Dateien dann dorthin zurück, wo die WAV-Datei gefunden war.


--- PS. Was ich meinte war daß wenn da ein DEL steht, dann werden die WAV-Dateiobjekte als einzelne Schleifenvariablen per DEL auch gekillt, so wie das da oben im Script steht.

Also einmal laufen lassen und dann sind die WAV-Dateien weg, und zwar unabhängig davon, ob der vorherige Befehl (lame...) das getan hatte, was er hätte tun sollen.

-- Man könnte(!) das mit einem && dranhängen und sich einbilden, daß lame ERRORLEVEL=0 zurückgibt nur genau dann, wenn alles richtig geklappt hatte.

Dieser Beitrag wurde von RalphS bearbeitet: 23. November 2016 - 21:55

"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

#5 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.591
  • Beigetreten: 14. August 15
  • Reputation: 392

geschrieben 23. November 2016 - 22:01

Beitrag anzeigenZitat (RalphS: 23. November 2016 - 21:52)

Also einmal laufen lassen und dann sind die WAV-Dateien weg, und zwar unabhängig davon, ob der vorherige Befehl (lame...) das getan hatte, was er hätte tun sollen.
Stimmt. Gar nicht bedacht.^^

Beitrag anzeigenZitat (RalphS: 23. November 2016 - 21:52)

-- Man könnte(!) das mit einem && dranhängen und sich einbilden, daß lame ERRORLEVEL=0 zurückgibt nur genau dann, wenn alles richtig geklappt hatte.
Man könnte das mit if machen

if exist "%%~dpni.mp3" del /f /s /q "%%i" >nul


löscht also nicht wenn die mp3 nicht erstellt wurde

Dieser Beitrag wurde von Gispelmob bearbeitet: 23. November 2016 - 22:02

AMD Ryzen 9 5950X, Asus ROG Strix X570-F Gaming, 32GB Corsair DDR4-3200, Asus Geforce GTX 3060 12GB, Creative Sound Blaster AE-7, 240GB SSD, 500GB SSD, 3x 1TB SSD, Win11 Home, 4x Acer G246HL Bbid, Logitech MX518 Gaming Mouse, Logitech G440 Mousepad, Logitech K120 Keyboard, Razer Tiamat 7.1 V2 Headset, Creative Inspire 5.1 5300 Soundsystem
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0