BAT éxécuter recherche si fichiers non trouvés
Albert49
-
micromega Messages postés 141 Statut Membre -
micromega Messages postés 141 Statut Membre -
Bonjour,
Je cherche à créer une commande qui me permettrait de faire une recherche si des chemins ne sont pas trouvés.
J'ai obtenu un code, mais celui-ci ne marche pas entièrement : il lance la recherche à tout les coups sans vérifier si le dossier est présent dans l'un des chemins indiqués.
Voici le code :
set R1=C:\Program Files (x86)\NOM DU DOSSIER
set R2=C:\Program Files (x86)\DOSSIER\NOM DU DOSSIER
set R3=D:\NOM DU DOSSIER
set R4=D:\DOSSIER\NOM DU DOSSIER
set cherche=0
if exist "%R1%" (
rd /s /q "%R1%"
) else (
set cherche=1
)
if exist "%R2%" (
rd /s /q "%R2%"
) else (
set cherche=1
)
if exist "%R3%" (
rd /s /q "%R2%"
) else (
set cherche=1
)
if exist "%R4%" (
rd /s /q "%R2%"
) else (
set cherche=1
)
if %cherche% EQU 1 (
for %%i in (C,D) do (
if exist "%%i:\" set VrLetter=%%i& call :search %%i
)
goto FinBoucle
:search
for /r "%VrLetter%:\" %%j in (NOM DU DOSSIER) do (
if exist "%%j" RMDIR %%j /S /Q
)
goto :eof
)
)
)
rd /s /q "%ALLUSERSPROFILE%\Menu D'marrer\Programmes\NOM DU DOSSIER" >NUL 2>&1
rd /s /q "%ALLUSERSPROFILE%\Menu D'marrer\Programmes\DOSSIER\NOM DU DOSSIER" >NUL 2>&1
rd /s /q "%ALLUSERSPROFILE%\Start Menu\Programs\NOM DU DOSSIER" >NUL 2>&1
rd /s /q "%ALLUSERSPROFILE%\Start Menu\Programs\DOSSIER\NOM DU DOSSIER" >NUL 2>&1
Merci de vos aides...
Je cherche à créer une commande qui me permettrait de faire une recherche si des chemins ne sont pas trouvés.
J'ai obtenu un code, mais celui-ci ne marche pas entièrement : il lance la recherche à tout les coups sans vérifier si le dossier est présent dans l'un des chemins indiqués.
Voici le code :
set R1=C:\Program Files (x86)\NOM DU DOSSIER
set R2=C:\Program Files (x86)\DOSSIER\NOM DU DOSSIER
set R3=D:\NOM DU DOSSIER
set R4=D:\DOSSIER\NOM DU DOSSIER
set cherche=0
if exist "%R1%" (
rd /s /q "%R1%"
) else (
set cherche=1
)
if exist "%R2%" (
rd /s /q "%R2%"
) else (
set cherche=1
)
if exist "%R3%" (
rd /s /q "%R2%"
) else (
set cherche=1
)
if exist "%R4%" (
rd /s /q "%R2%"
) else (
set cherche=1
)
if %cherche% EQU 1 (
for %%i in (C,D) do (
if exist "%%i:\" set VrLetter=%%i& call :search %%i
)
goto FinBoucle
:search
for /r "%VrLetter%:\" %%j in (NOM DU DOSSIER) do (
if exist "%%j" RMDIR %%j /S /Q
)
goto :eof
)
)
)
rd /s /q "%ALLUSERSPROFILE%\Menu D'marrer\Programmes\NOM DU DOSSIER" >NUL 2>&1
rd /s /q "%ALLUSERSPROFILE%\Menu D'marrer\Programmes\DOSSIER\NOM DU DOSSIER" >NUL 2>&1
rd /s /q "%ALLUSERSPROFILE%\Start Menu\Programs\NOM DU DOSSIER" >NUL 2>&1
rd /s /q "%ALLUSERSPROFILE%\Start Menu\Programs\DOSSIER\NOM DU DOSSIER" >NUL 2>&1
Merci de vos aides...
A voir également:
- BAT éxécuter recherche si fichiers non trouvés
- Creer un fichier .bat - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Bat to exe - Télécharger - Édition & Programmation
- Renommer des fichiers en masse - Guide
- Fichiers epub - Guide
3 réponses
Bonjour,
Cela est certainement dû aux nombres de variables différentes. Maintenant je ne sais pas comment faire pour passer outre ce problème.
Peut-être faut-il essayer de changer le nom des variables ou alors de les regrouper, mais cela reste des tests car je n'ai pas de connaissances approfondies en .bat.
Pour ce qui est des droits administrateur je ne sais pas non plus s'il est possible d'écrire un code pour passer dirrectement en mode administrateur, car l'option est grisée dans les paramètres.
Il doit y avoir moyen de passer par dessus ce problème, mais j'ai eu beau chercher sur internet personne ne donne une réponse qui correspond. Par exemple j'avais besoin que le ".bat" s'autodétruise une fois qu'il ait fini d'être exécuté, je pouvais convertir le .bat avec "Bat to exe converter" pour gagner les droits administrateur, en revanche je perdais la possibilité d'autodétruire le programme.
Pour avoir les deux ensembles je cherche encore.
Si d'autres personnes qui maîtrise un peu plus le .bat sont disponibles pour y répondre.
Merci,
Bon courage
Cela est certainement dû aux nombres de variables différentes. Maintenant je ne sais pas comment faire pour passer outre ce problème.
Peut-être faut-il essayer de changer le nom des variables ou alors de les regrouper, mais cela reste des tests car je n'ai pas de connaissances approfondies en .bat.
Pour ce qui est des droits administrateur je ne sais pas non plus s'il est possible d'écrire un code pour passer dirrectement en mode administrateur, car l'option est grisée dans les paramètres.
Il doit y avoir moyen de passer par dessus ce problème, mais j'ai eu beau chercher sur internet personne ne donne une réponse qui correspond. Par exemple j'avais besoin que le ".bat" s'autodétruise une fois qu'il ait fini d'être exécuté, je pouvais convertir le .bat avec "Bat to exe converter" pour gagner les droits administrateur, en revanche je perdais la possibilité d'autodétruire le programme.
Pour avoir les deux ensembles je cherche encore.
Si d'autres personnes qui maîtrise un peu plus le .bat sont disponibles pour y répondre.
Merci,
Bon courage
Bon, J'ai tester plusieurs façons de faire... fais des tests à tout moment, mais aucun résultat n'a été positif.
Pour les droits administrateurs, le programme qui transforme les bat en exe peut être utile mais pas dans notre cas...
Je tourne en rond.... c'est dommage je suis persuadé que cela est faisable.
Merci
Pour les droits administrateurs, le programme qui transforme les bat en exe peut être utile mais pas dans notre cas...
Je tourne en rond.... c'est dommage je suis persuadé que cela est faisable.
Merci