Nom de fichier et caractères spéciaux.
Résolu
Fallentree
Messages postés
2445
Statut
Membre
-
Fallentree Messages postés 2445 Statut Membre -
Fallentree Messages postés 2445 Statut Membre -
Bonjour,
Ayant trouver un bout de code ms-dos pour convertir un m4u en mp3, mais voilà qu'une masse d’exception se dévoile dans l’exécution des commandes Dos. Un exemple les ' ou les , ou encore le & de "Kool & The Gang".
En fait je ne peux pas les renommer comme il faut lors de la conversion.
Il me faudrait une idée pour pouvoir transformer les & en and ...
visiblement
Merci de votre lecture.
Ayant trouver un bout de code ms-dos pour convertir un m4u en mp3, mais voilà qu'une masse d’exception se dévoile dans l’exécution des commandes Dos. Un exemple les ' ou les , ou encore le & de "Kool & The Gang".
En fait je ne peux pas les renommer comme il faut lors de la conversion.
Il me faudrait une idée pour pouvoir transformer les & en and ...
visiblement
SET tmp= %tfile:&= and%ne fonctionne pas .
Merci de votre lecture.
2 réponses
-
Bonjour,
Donne le contenu de ton script de conversion, je vais voir ce que je peux faire.
-
@echo off
set /a count = 0
FOR %%G IN (*.m4a) DO (CALL :SUB_VLC "%%G")
PAUSE
GOTO :eof
:SUB_VLC
SET /a count = %count% + 1
SET tfile= %~n1
SET Txt= %count% - %tfile%
SET tmp= %tfile:'=%
SET tmp= %tmp:,=%
SET tmp= %tmp:/&= and%
echo %Txt%
if not exist ".\mp3\%tmp%.mp3" (
echo file doesn't exist
CALL "C:\Program Files (x86)\VideoLAN\VLC\vlc" -I dummy -vvv %1 --sout=#transcode{acodec="mpga",ab="512","channels=2",samplerate="44100"}:standard{access="file",mux="mpeg1",dst=".\mp3\%tmp%.mp3"} vlc://quit
)
GOTO :eof
:eof- J'ai fait quelques corrections, essaie comme ça :
@echo off
title Convertisseur M4A vers MP3
setlocal enableextensions enabledelayedexpansion
color 79
set /a count=0
for %%G in (*.m4a) do (call :SUB_VLC "%%~G")
echo. & pause
exit /B
:SUB_VLC
set /a count+=1
set "file=%~n1"
set nom=!file:^&=and!
echo. & echo Conversion de la liste #!count! ==^>^> "%~nx1"
if not exist ".\mp3\!nom!.mp3" (
call "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" -I dummy -vvv "%~1" --sout=#transcode{acodec="mpga",ab="512","channels=2",samplerate="44100"}:standard{access="file",mux="mpeg1",dst=".\mp3\!nom!.mp3"} vlc://quit
)
goto :eof
rem
-
-
- pourquoi les ! au lieu de % ?!!
pour retarder l'expansion des variables, sinon les variables sont remplacées par leur valeur avant l'exécution du script, ce qui peut poser problème quand ta variable doit changer de valeur durant le script
https://www.developpez.net/forums/d697396/general-developpement/programmation-systeme/windows/scripts-batch/explication-l-expansion-retardee/
-