Script impossible?

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
Clem07
Batcheur occasionnel
Messages : 2
Enregistré le : 03 août 2010 14:12

Script impossible?

Message par Clem07 »

N'étant pas particulièrement expert en batch, j'ai un petit souci concernant la création d'un script.

Je m'explique : Le but de mon script est d'accéder à un certain répertoire et de supprimer 2 fichiers spécifiques. Ce script devra être launchable sur plusieurs PC diffèrent. Mais un problème survient :

- les fichiers a supprimées se trouvent sur un répertoire du typer : C:/>Program Files/<folder>/xxxxxxxxxx
le xxxxxxxxxx n'est jamais le mémé sur chaque PC

==> Existe t'il une commande qui permet d'ouvrir un dossier (unique dans le répertoire) sans connaitre son nom a l'avance?
Clem07
Batcheur occasionnel
Messages : 2
Enregistré le : 03 août 2010 14:12

Re: Script impossible?

Message par Clem07 »

J'ai peut être trouver une solution :
Le point commun de tout les répertoires xxxxxxxxx est que le nom est constitué que de chiffre (encore une fois, 1 seul dossier xxxxxxx est présent dans le répertoire parent). L'idée et d'ouvrir le répertoire avec une commande du style cd 1*
Avec une boucle on parcourt donc tous les chiffres de 1 à 9 pour pouvoir rentrer dans celui ci.
Mon script de test donne :

set I=0 /* définition variable I qui vaut 0
cd \ /* acces a la racine de c
cd Documents and Settings /* répertoire ou se trouve la fameux sous répertoire
cd Y99BCA /* idem
for /l %%I in (0,1,9) /*pour i=0 si l'action n'est pas possible, on incrémente de 1 jusqu'a 9
do cd %I%* /* ouverture du répertoire valeur de I*
del blabla.txt /* suppression de blabla.txt

Mais ça ne fonctionne pas, j'ai surement mal defini mon FOR

Pouvez vous m'aider??
DarkBatcher
King Of Batch
Messages : 66
Enregistré le : 06 juil. 2010 17:37
Contact :

Re: Script impossible?

Message par DarkBatcher »

Bonjour,

Ton cd est mal écrit:

Code : Tout sélectionner

cd %%i%*
Cependant ça m'étonnerai que l'on puisse utiliser cd avec des caractères génériques. Je te recommande la commande dir:

Code : Tout sélectionner

for /f "tokens=2 delims=" %%i in ('dir /rep') do (
If not "%%i"==".." set /a var=!var!+1
If not "%%i"=="." set /a var=!var!+1
If exist %%i set /a var=!var!+1
If "!var!"=="3" cd %%i%&goto suite
)
:suite
Si sa ne fonctionne pas change le nombre après tokens=
Ce forum vous à aidé? Faites le vivre en vous connectant régulièrement et en répondant au questions posées sur le forum si vous avez une solution
Répondre