Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
726 connectés 

 


Dernière réponse
Sujet : Nom MS-DOS et Win XP
Neo_t3 OK Merci beaucoup de votre aide !

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Neo_t3 OK Merci beaucoup de votre aide !
Requin Par exemple le script suivant efface le contenu du répertoire c:\temp :
 

Code :
  1. 'Créé l'objet File System Object (FSO)
  2. Set objFSO = CreateObject("Scripting.FileSystemObject" )
  3. ' Efface les fichiers dans le répertoire temp
  4. objFSO.DeleteFolder "c:\temp\*.*", True
  5. objFSO.DeleteFile "c:\temp\*.*", True
  6. ' Libère la mémoire
  7. Set objFSO = Nothing


 
Fait quand même attention à ce que tu fais ;)

 

[jfdsdjhfuetppo]--Message édité par Requin le 27-05-2002 à 22:19:17--[/jfdsdjhfuetppo]

Requin OUi la doc complète de Windows Scripting Host est dipo sur le site de Microsoft avec de nombreux exemples... en fait les méthodes qui t'intéresse sont :
 
objFSO.DeleteFolder
et
objFSO.DeleteFile
 
En lisant un peu ce n'est vraiment pas compliqué et tu as toutes les structures habituelles de programmation (boucles, conditions, ...)
Neo_t3

Requin a écrit a écrit :

 
 
http://msdn.microsoft.com/
 
Ensuite tu recherche dans la library Windows Scripting Host (WSH). Il y a  l'objet Shell qui te permetteras de faire des manipulations sur les fichiers. Avec ces scripts tu pourras faire bien plus de choses qu'avec des batchs.
 
Voici un exemple de script (en VBScript, tu pourrais aussi utiliser JScript ou PERLScript) :
 

Code :
  1. ' Efface les fichiers dans les répértoires destinations
  2. On Error Resume Next
  3. ' Défini quelques variables
  4. aryDestDirs  = Array(                                                          _
  5.                      "01"                                                    , _
  6.                      "02"                                                    , _
  7.                      "03"                                                    , _
  8.                      "04"                                                    , _
  9.                      "05"                                                    , _
  10.                      "06"                                                    , _
  11.                      "07"                                                    , _
  12.                      "08"                                                    , _
  13.                      "09"                                                    , _
  14.                      "10"                                                    , _
  15.                      "11"                                                    , _
  16.                      "12"                                                      _
  17.                     )
  18. MsgBox "Les répertoires vont être vidés de leur contenu"
  19. Set objFSO = CreateObject("Scripting.FileSystemObject" )
  20. Set objCurrentFolder = objFSO.GetFolder("." )
  21. ' détermine la longueur du chemin
  22. intLength = Len(objCurrentFolder.Path) - Len(objCurrentFolder.Name)
  23. ' extrait le chemin de base
  24. strBasePath = Left(objCurrentFolder.Path , intLength)
  25.                    
  26. ' Efface les fichiers dans les répertoires de destination
  27. For i = LBound(aryDestDirs) To Ubound(aryDestDirs)
  28.    Set objAuxFolder = objFSO.GetFolder(strBasePath & aryDestDirs(i))
  29.    ' Boucle sur les sous répertoires
  30.    For Each Item In objAuxFolder.SubFolders
  31.       objFSO.DeleteFile Item.Path & "\*.*", True
  32.       ' Traite le cas des dossiers My Picture et My Music
  33.       strName = Trim(LCase(CStr(Item.Name)))
  34.       If InStr(strName, "my picture" ) = 0 AND _
  35.          InStr(strName, "my music" ) = 0 Then
  36.          objFSO.DeleteFolder Item.Path, True
  37.       Else
  38.          Set objMyFolder = objFSO.GetFolder(Item.Path)
  39.          For Each MySF In objMyFolder.SubFolders
  40.             objFSO.DeleteFolder MySF.Path, True
  41.          Next
  42.          Set objMyFolder = Nothing
  43.       End If
  44.    Next
  45.    objFSO.DeleteFile objAuxFolder.Path & "\*.*", True
  46.    Set objAuxFolder = Nothing
  47. Next
  48. ' Libère la mémoire
  49. Set objCurrentFolder = Nothing
  50. Set objFSO = Nothing
  51. ' Affiche un message de confirmation
  52. MsgBOX "Les dossiers ont été vidés de leur contenu"


 
Ce code sert à effacer le contenu des répertoires "my documents" des utilisateurs 01 à 12 (en préservant "My Music" et "My Picture", situé un répertoire au dessous du répertoire courant d'une salle de cours informatiques, mes répertoires s'appelles 01 à 12 et le support des noms longs n'est pas un problème, tu peux le modifier comme bon te semble.
 
Je te conseille un éditeur comme Macromedia Homesite pour avoir le code en couleur.  
 
 




Merci dans ce ca je peut modifier ce script afin qu'il efface le contenu des dossiers que je souhaite ?

Requin

Neo_t3 a écrit a écrit :

Voila je suis en train de me faire un fichier *.bat qui à chaque demarrage s'execute et supprime le contenu de mon dossier relatif à mon compte, tempory internet files, temp. Mais la ou je bloque c'est à cette ligne :
C:\Docume~1\Neo\... ensuite il faut aller dans le dossier nommé Local settings mais en nom DOS ça donne quoi ?  
Merci  
 
P.S : MOn .BAT =
 
del C:\Docume~1\Neo\Local Settings\Temporary Internet Files\*.*
del C:\Docume~1\Neo\Local Settings\Temp\*.*  




 
http://msdn.microsoft.com/
 
Ensuite tu recherche dans la library Windows Scripting Host (WSH). Il y a  l'objet Shell qui te permetteras de faire des manipulations sur les fichiers. Avec ces scripts tu pourras faire bien plus de choses qu'avec des batchs.
 
Voici un exemple de script (en VBScript, tu pourrais aussi utiliser JScript ou PERLScript) :
 

Code :
  1. ' Efface les fichiers dans les répértoires destinations
  2. On Error Resume Next
  3. ' Défini quelques variables
  4. aryDestDirs  = Array(                                                          _
  5.                      "01"                                                    , _
  6.                      "02"                                                    , _
  7.                      "03"                                                    , _
  8.                      "04"                                                    , _
  9.                      "05"                                                    , _
  10.                      "06"                                                    , _
  11.                      "07"                                                    , _
  12.                      "08"                                                    , _
  13.                      "09"                                                    , _
  14.                      "10"                                                    , _
  15.                      "11"                                                    , _
  16.                      "12"                                                      _
  17.                     )
  18. MsgBox "Les répertoires vont être vidés de leur contenu"
  19. Set objFSO = CreateObject("Scripting.FileSystemObject" )
  20. Set objCurrentFolder = objFSO.GetFolder("." )
  21. ' détermine la longueur du chemin
  22. intLength = Len(objCurrentFolder.Path) - Len(objCurrentFolder.Name)
  23. ' extrait le chemin de base
  24. strBasePath = Left(objCurrentFolder.Path , intLength)
  25.                    
  26. ' Efface les fichiers dans les répertoires de destination
  27. For i = LBound(aryDestDirs) To Ubound(aryDestDirs)
  28.    Set objAuxFolder = objFSO.GetFolder(strBasePath & aryDestDirs(i))
  29.    ' Boucle sur les sous répertoires
  30.    For Each Item In objAuxFolder.SubFolders
  31.       objFSO.DeleteFile Item.Path & "\*.*", True
  32.       ' Traite le cas des dossiers My Picture et My Music
  33.       strName = Trim(LCase(CStr(Item.Name)))
  34.       If InStr(strName, "my picture" ) = 0 AND _
  35.          InStr(strName, "my music" ) = 0 Then
  36.          objFSO.DeleteFolder Item.Path, True
  37.       Else
  38.          Set objMyFolder = objFSO.GetFolder(Item.Path)
  39.          For Each MySF In objMyFolder.SubFolders
  40.             objFSO.DeleteFolder MySF.Path, True
  41.          Next
  42.          Set objMyFolder = Nothing
  43.       End If
  44.    Next
  45.    objFSO.DeleteFile objAuxFolder.Path & "\*.*", True
  46.    Set objAuxFolder = Nothing
  47. Next
  48. ' Libère la mémoire
  49. Set objCurrentFolder = Nothing
  50. Set objFSO = Nothing
  51. ' Affiche un message de confirmation
  52. MsgBOX "Les dossiers ont été vidés de leur contenu"


 
Ce code sert à effacer le contenu des répertoires "my documents" des utilisateurs 01 à 12 (en préservant "My Music" et "My Picture", situé un répertoire au dessous du répertoire courant d'une salle de cours informatiques, mes répertoires s'appelles 01 à 12 et le support des noms longs n'est pas un problème, tu peux le modifier comme bon te semble.
 
Je te conseille un éditeur comme Macromedia Homesite pour avoir le code en couleur.

 

[jfdsdjhfuetppo]--Message édité par Requin le 27-05-2002 à 21:48:32--[/jfdsdjhfuetppo]

Gilbert Gosseyn Ce tag :

Citation :

Code :
  1. /X    Affiche les noms courts générés pour les noms de fichier non 8.3 car.
  2.        Ce format est celui de /N avec le nom court inséré avant le nom long.
  3.        S'il n'y a pas de nom court, des espaces seront affichés à la place.



 
 
LOCALS~1        Local Settings

 

[jfdsdjhfuetppo]--Message édité par Gilbert Gosseyn le 27-05-2002 à 21:47:08--[/jfdsdjhfuetppo]

Gilbert Gosseyn L'aide de la commande DIR :

Citation :

Code :
  1. C:\DOCUME~1\->dir /?
  2. Affiche une liste de fichiers et de sous-répertoires dans un répertoire.
  3. DIR [lecteur:][chemin][nom_de_fichier] [/A[[:]attributs]] [/B] [/C] [/D] [/L]
  4.   [/N] [/O[[:]tri]] [/P] [/Q] [/S] [/T[[:]heure]] [/W] [/X] [/4]
  5.   [lecteur:][chemin][nom_de_fichier]
  6.         Spécifie le lecteur, le répertoire et/ou fichiers à lister.
  7.   /A    Affiche les fichiers dotés des attributs spécifiés.
  8.   attributs  D  Répertoires                R  Lecture seule
  9.              H  Caché                      A  Archive
  10.              S  Système                    -  Préfixe de négation
  11.   /B    Utilise le format abrégé (noms des fichiers).
  12.   /C    Affiche le séparateur de milliers pour les tailles de fichiers.
  13.         Ceci est la valeur par défaut. Utilisez /-C pour désactiver l'affichage
  14.         du séparateur.
  15.   /D    Sur cinq colonnes avec fichiers triés par colonne.
  16.   /L    Affiche en minuscules.
  17.   /N    Nouveau format longue liste où les noms de fichiers sont à droite.
  18.   /O    Affiche les fichiers selon un tri spécifié.
  19.   tri   N  Nom (alphabétique)         S  Taille (ordre croissant)
  20.         E  Extension (alphabétique)   D  Date et heure (chronologique)
  21.         G  Répertoires en tête        -  Préfixe en ordre indirect
  22.   /P    Arrêt après l'affichage d'un écran d'informations.
  23.   /Q    Affiche le nom du propriétaire du fichier.
  24.   /S    Affiche les fichiers d'un répertoire et de ses sous-répertoires.
  25.   /T    Contrôle le champ heure affiché ou utilisé dans le tri.
  26.   heure C  Création
  27.         A  Dernier accès
  28.         W  Dernière écriture
  29.   /W    Affichage sur cinq colonnes.
  30.   /X    Affiche les noms courts générés pour les noms de fichier non 8.3 car.
  31.         Ce format est celui de /N avec le nom court inséré avant le nom long.
  32.         S'il n'y a pas de nom court, des espaces seront affichés à la place.
  33.   /4    Affiche l'année sur quatre chiffres.
  34. Les commutateurs peuvent être préconfigurés dans la variable d'environnement
  35. DIRCMD. Pour les ignorer, les préfixer avec un trait d'union. Par exemple /-W.


Neo_t3

Gilbert Gosseyn a écrit a écrit :

Ben déjà il y a un problème ... pour savoir ouvre une console et chemine toi même dans les dossiers ...  




Je sais que le *.BAT n'est pas correct mais je fois tous les dossiers (sont plus "en cachés" ) mais Local setting en MS-DOS ça donne quoi ?

Gilbert Gosseyn Ben déjà il y a un problème ... pour savoir ouvre une console et chemine toi même dans les dossiers ...
Neo_t3 Voila je suis en train de me faire un fichier *.bat qui à chaque demarrage s'execute et supprime le contenu de mon dossier relatif à mon compte, tempory internet files, temp. Mais la ou je bloque c'est à cette ligne :
C:\Docume~1\Neo\... ensuite il faut aller dans le dossier nommé Local settings mais en nom DOS ça donne quoi ?  
Merci  
 
P.S : MOn .BAT =
 
del C:\Docume~1\Neo\Local Settings\Temporary Internet Files\*.*
del C:\Docume~1\Neo\Local Settings\Temp\*.*

Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR