commande /s dans un fichier bat

Le
tomas
salut les aminches un tout petit probleme de fichier *.bat
voilà j'ai un fichier connect.bat qui contient ceci:

@echo off
del/s *.tmp

(le but du jeu c'est d'effacer tout les fichiers temp d'une machine) ça
marche très bien sous XP mais sous win 98 ça me dit que la commande /s ne
marche pas connaitriez vous l'équivalence de cette commande sous 98 ou
l'origine du pb ?
merci pour votre aide
Tomas
  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Jean-Claude BELLAMY
Le #432011
Dans le message news: ,
tomas
salut les aminches un tout petit probleme de fichier *.bat
voilà j'ai un fichier connect.bat qui contient ceci:

@echo off
del/s *.tmp

(le but du jeu c'est d'effacer tout les fichiers temp d'une machine)
ça marche très bien sous XP mais sous win 98 ça me dit que la
commande /s ne marche pas connaitriez vous l'équivalence de cette
commande sous 98 ou l'origine du pb ?


Le commutateur /S n'existe pas sous DOS et les commandes DOS utilisées sous
Win9x.
Pour supprimer une arborescence, il faut utiliser DELTREE

C:WINDOWS>deltree /?
Efface un répertoire et tous ses sous-répertoires et fichiers.

Pour effacer un ou plusieurs fichiers et répertoires :
DELTREE [/Y] [lecteur:]chemin [[lecteur:]chemin[...]]

/Y Supprime la confirmation de l'effacement
des sous-répertoires.
[lecteur:]chemin Spécifie le nom du répertoire que vous voulez effacer.

Important : utilisez DELTREE avec précaution. Tout fichier et
sous-répertoire
dans le répertoire spécifié seront effacés.

Question subsidiaire : qu'est-ce que cette question vient faire dans un NG
consacré au réseau sous Windows serveur ?

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*

F. Dunoyer [MVP]
Le #431924
Jean-Claude BELLAMY a pensé très fort :
Dans le message news: ,
tomas
salut les aminches un tout petit probleme de fichier *.bat
voilà j'ai un fichier connect.bat qui contient ceci:

@echo off
del/s *.tmp

(le but du jeu c'est d'effacer tout les fichiers temp d'une machine)
ça marche très bien sous XP mais sous win 98 ça me dit que la
commande /s ne marche pas connaitriez vous l'équivalence de cette
commande sous 98 ou l'origine du pb ?


Le commutateur /S n'existe pas sous DOS et les commandes DOS utilisées sous
Win9x.
Pour supprimer une arborescence, il faut utiliser DELTREE

C:WINDOWS>deltree /?
Efface un répertoire et tous ses sous-répertoires et fichiers.

Pour effacer un ou plusieurs fichiers et répertoires :
DELTREE [/Y] [lecteur:]chemin [[lecteur:]chemin[...]]

/Y Supprime la confirmation de l'effacement
des sous-répertoires.
[lecteur:]chemin Spécifie le nom du répertoire que vous voulez effacer.

Important : utilisez DELTREE avec précaution. Tout fichier et sous-répertoire
dans le répertoire spécifié seront effacés.

Question subsidiaire : qu'est-ce que cette question vient faire dans un NG
consacré au réseau sous Windows serveur ?


Jean-Claude , je pense que deltree est un peu trop destructeur par
rapport à sa demande mais quelque chose du style :

for /R d:dossierdebasse %%i IN (.) do del "%%i*.tmp"

devrait pouvroir faire l'affaire (dans un script)

reste la question de la pertinence de la question sur ce forum ????

--
François Dunoyer [MVP Windows Server / Security]
Quelques liens pour Windows : http://fds.mvps.org/AdressesInternets.htm
Site perso : http://www.fdunoyer.net


Jean-Claude BELLAMY
Le #431922
Dans le message news: ,
F. Dunoyer [MVP]
Jean-Claude BELLAMY a pensé très fort :
Dans le message news: ,
tomas
salut les aminches un tout petit probleme de fichier *.bat
voilà j'ai un fichier connect.bat qui contient ceci:

@echo off
del/s *.tmp

(le but du jeu c'est d'effacer tout les fichiers temp d'une machine)
ça marche très bien sous XP mais sous win 98 ça me dit que la
commande /s ne marche pas connaitriez vous l'équivalence de cette
commande sous 98 ou l'origine du pb ?


Le commutateur /S n'existe pas sous DOS et les commandes DOS
utilisées sous Win9x.
Pour supprimer une arborescence, il faut utiliser DELTREE

C:WINDOWS>deltree /?
Efface un répertoire et tous ses sous-répertoires et fichiers.
[...]


Jean-Claude , je pense que deltree est un peu trop destructeur par
rapport à sa demande mais quelque chose du style :

for /R d:dossierdebasse %%i IN (.) do del "%%i*.tmp"

devrait pouvroir faire l'affaire (dans un script)
[...]


Et bien NON !

Car relis la question : çà doit se passer sous Win98 !
Or sous DOS et Win9x/ME, la commande FOR est très pauvre au niveau syntaxe,
et n'admet pas le commutateur "/R" , ni le paramètre de dossier de base!

Je viens de faire la capture suivante sous Windows 98 SE :
--------------------
C:WINDOWS>for /?
Excute une commande sur chaque fichier d'un ensemble de fichiers.

FOR %variable IN (ens) DO commande [param]

%variable Paramètre remplaçable.
(ens) Ensemble de fichiers séparés par des espaces. Caractères
génériques permis.
commande Commande à exécuter pour chaque fichier.
param
Paramètres ou commutateurs pour la commande spécifiée.

Pour utiliser FOR dans les fichiers de commandes, spécifiez %%variable
au lieu de %variable.
--------------------

Rien d'autre !!!!


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
*



Jacques Barathon [MS]
Le #431921
Jean-Claude BELLAMY a pensé très fort :
Et bien NON !


Car relis la question : çà doit se passer sous Win98 !


Jean-Claude,

Relis la question toi aussi. Tu as raison quand tu dis que Windows 98 ne
permet pas de faire un FOR /R, mais tu as tort de conseiller DELTREE car le
problème posé consiste à supprimer les FICHIERS dont l'extension est TMP, or
ta solution consiste à supprimer les REPERTOIRES avec tout leur contenu.
Pour rappel, la demande initiale:

salut les aminches un tout petit probleme de fichier *.bat
voilà j'ai un fichier connect.bat qui contient ceci:

@echo off
del/s *.tmp

(le but du jeu c'est d'effacer tout les fichiers temp d'une machine)





Donc en gros, il n'existe aucune commande en standard sous 98 pour faire la
même chose. Il faudrait soit passer par un outil externe (?) soit faire un
script en VBS (à condition que WSH soit installé sur le poste en question).

Jacques




tomas
Le #431659
et bien merci à vous, ne vous battez pas!
bon bein effectivement ma question n'était peut-etre pas pertinente dans ce
forum mais visiblement vous avez pris du plaisir à y répondre et je vous en
remerci du reste...
oui, le but du jeu etait lorsque mes machines se loggent sur mon domaine de
supprimer tout les fichiers temp présent sur le disque dur du poste qui se
logge, sous XP ça l'fait mais pas sous 98 bon tant-pis
merci encore
Tomas

"Jacques Barathon [MS]" message de news:
Jean-Claude BELLAMY a pensé très fort :
Et bien NON !


Car relis la question : çà doit se passer sous Win98 !


Jean-Claude,

Relis la question toi aussi. Tu as raison quand tu dis que Windows 98 ne
permet pas de faire un FOR /R, mais tu as tort de conseiller DELTREE car
le

problème posé consiste à supprimer les FICHIERS dont l'extension est TMP,
or

ta solution consiste à supprimer les REPERTOIRES avec tout leur contenu.
Pour rappel, la demande initiale:

salut les aminches un tout petit probleme de fichier *.bat
voilà j'ai un fichier connect.bat qui contient ceci:

@echo off
del/s *.tmp

(le but du jeu c'est d'effacer tout les fichiers temp d'une machine)





Donc en gros, il n'existe aucune commande en standard sous 98 pour faire
la

même chose. Il faudrait soit passer par un outil externe (?) soit faire un
script en VBS (à condition que WSH soit installé sur le poste en
question).


Jacques








Jacques Barathon [MS]
Le #431757
"tomas" news:u%
et bien merci à vous, ne vous battez pas!


On s'bat pas, on s'explique :-)

bon bein effectivement ma question n'était peut-etre pas pertinente dans
ce
forum mais visiblement vous avez pris du plaisir à y répondre et je vous
en
remerci du reste...
oui, le but du jeu etait lorsque mes machines se loggent sur mon domaine
de
supprimer tout les fichiers temp présent sur le disque dur du poste qui se
logge, sous XP ça l'fait mais pas sous 98 bon tant-pis


Peut-être une piste, si la commande "dir *.tmp /b /s" marche 98... Reste à
récupérer la sortie pour supprimer les fichiers en question.

Sinon, la solution la plus simple et multi-plateforme consisterait à
utiliser un "vrai" script utilisable sous 98 et sous XP, comme vbscript (si
WSH est installé sur tes postes en 98, peut-être l'occasion de le faire?) ou
kixtart.

Jacques

Poster une réponse
Anonyme