Menu

Nom de fichier et caractères spéciaux. [Résolu/Fermé]

Messages postés
2297
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
17 mai 2019
-
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
 SET tmp= %tfile:&= and% 
ne fonctionne pas .

Merci de votre lecture.
Afficher la suite 

2 réponses

Messages postés
12242
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
14 juin 2019
1966
0
Merci
Bonjour,

Donne le contenu de ton script de conversion, je vais voir ce que je peux faire.

Fallentree
Messages postés
2297
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
17 mai 2019
133 -
@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
barnabe0057
Messages postés
12242
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
14 juin 2019
1966 > Fallentree
Messages postés
2297
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
17 mai 2019
-
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
Fallentree
Messages postés
2297
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
17 mai 2019
133 -
Ok : chapeau ' ^ '
Fallentree
Messages postés
2297
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
17 mai 2019
133 -
pourquoi les ! au lieu de % ?!!
barnabe0057
Messages postés
12242
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
14 juin 2019
1966 > Fallentree
Messages postés
2297
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
17 mai 2019
-
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/
Messages postés
2297
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
17 mai 2019
133
0
Merci
Il me faut aussi enlever la fin du nom ...
avec comme séparateur une parenthèse
faut il faire une boucle ou avec une instruction Find on peut avoir la position du séparateur ?
barnabe0057
Messages postés
12242
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
14 juin 2019
1966 > Fallentree
Messages postés
2297
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
17 mai 2019
-
Dans ce cas précis, choisir ( comme délimiteur n'est pas judicieux, il vaut mieux choisir _
Fallentree
Messages postés
2297
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
17 mai 2019
133 -
Impeccable ...
Merci
barnabe0057
Messages postés
12242
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
14 juin 2019
1966 -
Je ne peux pas t'aider, je n'ai pas de fichier .m4a pour faire des tests.
Fallentree
Messages postés
2297
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
17 mai 2019
133 -
Rien a voir avec la commande c'est les propriétés du fichier qui ne sont pas implémenté avec la commande :
la longueur
la vitesse de transmission
Fallentree
Messages postés
2297
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
17 mai 2019
133 -
Voilà pour finir changement du Codec et du Multiplexeur de sortie.
Vlc/Options en francais
Merci
Une interrogation sur la vitesse de transmission ab 192 ou 168 !!!
Call "C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" "%a" -I dummy -vvv --sout=#transcode{acodec=mp3,ab=192}:std{access=file,mux=raw,dst="%~na.mp3"} vlc://quit