J'essaie de vérifier dans un dossier de fichiers audio que les extensions mp3, flac et wav N'EXISTENT PAS. Si aucune des trois n'existe, j'envoie un message indiquant qu'il n'y a pas de fichiers audio dans le dossier.
J'ai créé un fichier batch en utilisant comme exemple la commande FOR que j'ai trouvée dans ce post :
loop-through-files-in-a-folder
Cependant, lorsque j'exécute le fichier batch, le message apparaît même s'il y a des fichiers audio dans le dossier, voir le code ci-dessous :
@echo off
chcp 65001
cls
ENDLOCAL
SETLOCAL ENABLEEXTENSIONS
For %%A In ("C:\Users\%username%\Desktop\Audio Folder\*.mp3" "C:\Users\%username%\Desktop\Audio Folder\*.flac" "C:\Users\%username%\Desktop\Audio Folder\*.wav") Do (
(If Not Exist "%%~xA" Set "flag=MISSING")
)
set "ESC="
for /F %%d in ('echo prompt $E ^| cmd') do (set "ESC=%%d")
If Defined flag (
SETLOCAL EnableExtensions DisableDelayedExpansion
echo %ESC%[31mThere are no audio extensions in the folder! Exit and check which files are in the folder. (e=exit^)%ESC%[0m
SETLOCAL EnableDelayedExpansion
set /p r=
IF /i "%r%"=="e" goto notfound
)
:notfound
echo.
exit
J'ai fait plusieurs tests et je n'ai pas pu, je ne sais pas si j'ai fait une erreur dans la commande for. Comment puis-je contrôler mon dossier et vérifier qu'il n'y a pas de fichier avec une extension audio ?