Voici ce que j'ai essayé:set foldername = foldername:! = Lot de renommer tous les dossiers contenant des fichiers ayant un motif spécifique
@echo off
REM Prefix zz_ to folders containing episodes with zz_
setlocal enabledelayedexpansion enableextensions
for /r "G:\itunes\Podcasts\" %%f in (zz_*.mp3) do (
set N=%%~pf~
set N=!N:\itunes\Podcasts\=!
set N=!N:\=!
if exist %%f ren "g:%%~pf" "zz_!N!"
)
pause
Mais je reçu le message d'erreur: Le processus ne peut pas accéder au fichier car il est utilisé par un autre processus. Je ne suis pas un programmeur par tous les moyens, juste une coupe & pâte un gars, donc merci pour toute aide.
Donc, ce qui ne va pas avec ce qui précède est bien sûr que je modifie les sous-répertoires en essayant de recurber le répertoire (g: \ itunes \ podcasts). Donc, le code maladroit suivant fonctionne, à une exception près.
@echo off
setlocal enabledelayedexpansion enableextensions
REM Prefix zz_ to folders containing episodes with zz_
for /r "G:\itunes\Podcasts\" %%f in (zz_*.mp3) do (
set foldername=%%~pf
set foldername=!foldername:~17!
set foldername=!foldername:\=!
if exist %%f echo if exist %%f ren "g:%%~pf" "zz_!foldername!" >>g:\trash.bat
)
call g:\trash.bat
del g:\trash.bat
pause
Il ne gère pas les noms de fichiers contenant des points d'exclamation. Des pensées?
Les fichiers .mp3 sont-ils utilisés? Parce que c'est ce que suggère ce message d'erreur. – SomethingDark
Éteignez «écho» et voir les choses bizarres que vous faites. –