Créer un batch

Signaler
Messages postés
5
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
5 juin 2008
-
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
-
Bonjour a tous !!

je bosse dans un cyber et j'aimerai via le poste serveur pouvoir vider regulierement le contenu des dossiers "mes documents" de chaque poste (biensur les "mes documents" de chaque poste sont partagé)
voila mon fichier BATCH

jusque la c simple !! voila ma solution :

net use Z: "[file://\\Poste01\Mes \\Poste01\Mes] Documents"
del z:\*.* /s/q
rd "z:" /s /q
net use z: /delete /y
pause

sauf que dans mes documents il y a un dossier que je veux conserver pour les sauvegarde d'un jeu (et peut etre a l'avenir d'autres)   le repertoire =   "The Lord of the Rings Online" dans chaque "mes documents" 

voila quelqu'un pourrait il m'aider ??

merci bcp d'avance

(par contre je ne vois pas ou je pourrai poster ma demande dsl d'avance si je me suis planté lol !!)

10 réponses

Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
10
Salut,

A mon avis tu n'es pas dans le bon theme mais je ne saurais te dire le quel est le bon

Juste une idee:

Rem tu enleves touts les attributs de touts les fichiers
C:\Temp>attrib -R -A -S -H  \*.* /s

Rem tu passes les attributs a Read Only du repertoire et des fichiers que tu veux conserver
Rem le /d passe aussi a Read Only le repertoire specifié
C:\Temp>attrib +R The Lord of the Rings Online\*.* /s /d

Tu effaces touts a l'exception des fichiers et repertoire qui on l'attribut Read Only
C:\Temp>del *.* /a:-R /s

Rem tu enleve l'attribut Read Only des fichiers repertoires restant pour evité les problemes
C:\Temp>attrib -R \*.* /s /d

Vala

A+
Messages postés
5
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
5 juin 2008

Merci pour ta reponse !!

voila ce que j'ai ecrit :

net use Z: "[file://\\Poste05\Mes \\Poste05\Mes] Documents"
Z:\attrib -R -A -S -H  \*.* /s
Z:\attrib +R The Lord of the Rings Online\*.* /s /d
z:\del *.* /a:-R /s
Z:\attrib -R \*.* /s /d
net use z: /delete /y
pause

et voila les erreurs qui apparaissent ! une solution ?

C:\Documents and Settings\User\Bureau>net use Z: [file://\\Poste05\Mes Documents \\Poste05\Mes Documents]
La commande s'est terminée correctement.




C:\Documents and Settings\User\Bureau>Z:\attrib -R -A -S -H  \*.* /s
'Z:\attrib' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.


C:\Documents and Settings\User\Bureau>Z:\attrib +R The Lord of the Ring
*.* /s /d
'Z:\attrib' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.


C:\Documents and Settings\User\Bureau>z:\del *.* /a:-R /s
'z:\del' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.


C:\Documents and Settings\User\Bureau>Z:\attrib -R \*.* /s /d
'Z:\attrib' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.


C:\Documents and Settings\User\Bureau>net use z: /delete /y
z: a été supprimé.




C:\Documents and Settings\User\Bureau>pause
Appuyez sur une touche pour continuer...


 


 


 


 


 


 


 


 


 




 
Messages postés
14825
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
20 octobre 2021
157
Bonjour

C'est normal que
Z:\attrib -R -A -S -H  \*.* /s
ne fonctionne pas, car il n'y a pas d'"attrib" dans le lecteur z, la ligne serait :
attrib -R -A -S -H  Z:\*.* /s

Nous captons le cockpit coupable qui a capoté
VB (6, .NET1&2), C++, C#.Net1
Messages postés
5
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
5 juin 2008

je vous sollicite toujours par rapport a mon probleme que j'avais un peu délaissé ;)

voila ce qu'il y a dans mon batch

net use Z: "[file://\\Poste05\Mes \\Poste05\Mes] Documents"
attrib -R -A -S -H  Z:\*.* /s
attrib +R Z:\The Lord of the Rings Online\*.* /s /d
del Z:\*.* /a:-R /s
attrib -R Z:\*.* /s /d
net use z: /delete /y
pause

voila ce que ca me fait :

C:\Documents and Settings\User\Bureau\OK>net use Z: "[file://\\Poste05\Mes \\Poste05\Mes] Documents"
La commande s'est terminée correctement.




C:\Documents and Settings\User\Bureau\OK>attrib -R -A -S -H  Z:\*.* /s
Accès refusé - Z:\Mes fichiers reçus\Capture10.jpg
Accès refusé - Z:\Mes fichiers reçus\Capture13.jpg
Accès refusé - Z:\Mes fichiers reçus\Capture4.jpg
Accès refusé - Z:\Mes fichiers reçus\Capture9.jpg


C:\Documents and Settings\User\Bureau\OK>attrib +R Z:\The Lord of the Rings Onli
ne\*.* /s /d
Format incorrect du paramètre -


C:\Documents and Settings\User\Bureau\OK>del Z:\*.* /a:-R /s
Z:\*.*, êtes-vous sûr (O/N) ?

une idée ??

merci
Messages postés
14825
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
20 octobre 2021
157
Bonjour

"Accès refusé - Z:\Mes fichiers reçus\Capture10.jpg"

Il te dit que tu n'a pas les droits d'accès, vérifie les droits NTFS et de partage du fichier est des diossiers contenant.

"attrib +R Z:\The Lord of the Rings Online\*.* /s /d"

C'est norrmal, la ligne correcte est :

attrib +R "Z:\The Lord of the Rings Online\*.*" /s /d

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Messages postés
5
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
5 juin 2008

merci

alors voila mon code actuel :

net use Z: "[file://\\Poste05\Mes \\Poste05\Mes] Documents"
attrib -R -A -S -H  Z:\*.* /s
attrib +R "Z:\The Lord of the Rings Online\*.*" /s /d
del Z:\*.* /a:-R /s
attrib -R Z:\*.* /s /d
net use z: /delete /y
pause

ca me supprime tout sauf lord of the rings mais ne supprime les pas autres repertoire

par ex il ya "The Lord of the Rings Online"  et un repertoire appelé  "Mes fichiers reçus"

ce repertoire "Mes fichiers reçus" se retrouve vidés de tt ses fichiers mais il reste toujours la !! comment faire pour le supprimer egalement ?

merci
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
10
Salut,

je ne suis pas trop d'accord avec ta methode. Je suppose aussi quen tu est en train d'ecrire un bach. Donc il faut que tu considere Z comme un disque comme ceci :

si @ echo off te gene pendant le developpement de ton bach tu mets un rem en debut ligne que tu enleveras plus tard

------------------------------------------------------
@ echo off
net use Z: "[c.aspx?u=ZmlsZTovL1xcUG9zdGUwNVxNZXM= \\Poste05\Mes] Documents"
z:
attrib -R -A -S -H  \*.* /s
attrib +R \The Lord of the Rings Online\*.* /s /d
del *.* /a:-R /s
attrib -R \*.* /s /d
c:
net use z: /delete /y
pause
----------------------------------------------------

et si tu veux boucler sur tes poste voila ce que cela devrait donner

----------------------------------------------------
@ echo off

rem on vas boucler sur 15 postes
set nbposte = 15
set numposte = 1
:debut
if %numposte%  lss 10 set nomposte = \\Poste0%numposte%\Mes Documents
if %numposte%  gtr 9 set nomposte = \\Poste%numposte%\Mes Documents

net use z: %nomposte%
z:
attrib -R -A -S -H  \*.* /s
attrib +R \The Lord of the Rings Online\*.* /s /d
del *.* /a:-R /s
attrib -R \*.* /s /d

c:
net use z: /delete /y
set /a numposte = numposte+1.

rem si numposte inferieur ou egale au nombre de poste
if %numposte% leq %nbposte% goto debut
pause
----------------------------------------------------

remarque : il n'y a normalement pas besoin d'utiliser de double quote dans un batch msdos

A+
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
10
...
je viens de penser a un truc, il serait bon de verifier que la fonction net a fonctionné et donc que l'on est bien dans z: avant de continuer cela eviterait que l'on ce retrouve a effacer le contenu du repertoire courant et pour completement limiter le risque je propose aussi de ce positioner par defaut dans neutre comme c:\temp

----------------------------------------------------
@ echo off

rem on ce met  a l'abri en ce positionnent dans un repertoire neutre
cd c:\temp

rem on vas boucler sur 15 postes
set nbposte = 15
set numposte = 1
:boucle
set errorlevel = 0
if %numposte%  lss 10 set nomposte = \\Poste0%numposte%\Mes Documents
if %numposte%  gtr 9 set nomposte = \\Poste%numposte%\Mes Documents
net use z: %nomposte%
rem on verify que tous c'est bien passé si ce n'est pas le cas on evite la partie de supression de fichier
rem mais on continura quand meme a boucler
if %errorlevel%==2 goto bypassdel
z:
attrib -R -A -S -H  \*.* /s
attrib +R \The Lord of the Rings Online\*.* /s /d
del *.* /a:-R /s
attrib -R \*.* /s /d
c:
net use z: /delete /y

:bypassdel
set /a numposte = numposte+1.
rem si numposte inferieur ou egale au nombre de poste on boucle
if %numposte% leq %nbposte% goto boucle
pause

:fin
----------------------------------------------------

A+
Messages postés
5
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
5 juin 2008

merci bigfish ! mais je crée un fichier .BAT et je colle tout dedan ?? parceque c ce que j'ai fait et rien n'a marché !! ;)
Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
10
Salut,

tu mets Rem devant @echo off (tu oubies pas de sauver)

en suite 2 option2

1\ tu lances le bat et si la CMD est encore a l'ecran tu fais un clique droit et tu selectionmes l'option mark et tu fait selection de tout le text puis tu fais refais un clique droit pour valider puis tu me colle tous ça dans ton prochain poste.

2\ Si la CMD disparait tu ecrits pause apres chaque ligne. Tu lance le bat et tu regardes a partir de quelle ligne la cmd disparait
et tu reviens poster ici pour me donner la ligne qui plante

A+