Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

hossec

Vaccin USB [resolu]

Messages recommandés

Bonsoir à tous,

 

J'ai récupéré un tuto ici destiné à la création d'un fichier bat pour créer un vaccin autorun.inf avec des noms réservé de Windows. Jusque là pas de problème (Il me semble par ailleurs que le sujet est ancien)

Le problème qui réside dans mon bat est qu'il ne créé qu'un seul dossier. L'auteur précise l'ajoute de lignes pour la création de plusieurs dossiers mais ça ne fonctionne pas. Voici ce qu'il préconise:

 

:nomrep

echo autorun.inf > %temp%\nomrep.txt

echo Nom_du_répertoire_supplémentaire_1 > %temp%\nomrep.txt

echo Nom_du_répertoire_supplémentaire_2 > %temp%\nomrep.txt

echo Nom_du_répertoire_supplémentaire_3 > %temp%\nomrep.txt

goto vaccon

 

Voici mon bat

 

chcp 1252

@echo off

del /q %temp%\rapportVacUSB.txt

echo %date% - %time% - Vaccin USB - Gof>%temp%\rapportVacUSB.txt

echo. >>%temp%\rapportVacUSB.txt

goto lecteur

:vaccon

echo Répertoires et fichiers vaccins :>>%temp%\rapportVacUSB.txt

echo. >>%temp%\rapportVacUSB.txt

FOR /f %%g in (%temp%\lecteur.txt) do for /f %%h in (%temp%\nomrep.txt) do (

if exist "%%g\%%h" echo %%g\%%h Present >> %temp%\rapportVacUSB.txt

if exist "%%g\%%h" attrib.exe -h -r -s -a "%%g\%%h"

if exist "%%g\%%h" del /q "%%g\%%h"

rd /s /q "%%g\%%h"

md "%%g\%%h"

type nul > "\?\%%g\%%h\con.Repertoire vaccin"

if exist "\?\%%g\%%h\con.Repertoire vaccin" echo %%g\%%h - Vaccin Ok >> %temp%\rapportVacUSB.txt

attrib.exe +h +r +s +a "%%g\%%h"

)

goto sortie

:sortie

echo.>> %temp%\rapportVacUSB.txt

echo %date% - %time% : Fin.>> %temp%\rapportVacUSB.txt

start %temp%\rapportVacUSB.txt

exit

:lecteur

del /q %temp%\lecteur.txt

echo Lecteur détectés :>>%temp%\rapportVacUSB.txt

echo. >>%temp%\rapportVacUSB.txt

for %%i in (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, y, y, z) do (

vol %%i:

if not errorlevel 1 echo %%i: >>%temp%\lecteur.txt

vol %%i:

if not errorlevel 1 vol %%i: >>%temp%\rapportVacUSB.txt

)

echo. >>%temp%\rapportVacUSB.txt

goto nomrep

:nomrep

echo driver > %temp%\nomrep.txt

echo myfolder > %temp%\nomrep.txt

echo autorun.inf > %temp%\nomrep.txt

goto vaccon

 

IL NE ME CREE QUE LE DOSSIER AUTORUN MAIS PAS LES AUTRES

 

PS: j'espère ne pas mettre trompé de forum

 

Hossec

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour et bienvenue sur le forum,

 

As tu affiché les fichiers et dossiers cachés dans les options des dossiers ?

 

Oui, ça a été fait

 

cordialement

 

Comme je l'ai dit le fichier bat tel que je l'ai décrit ne créé qu'un seul répertoire

Modifié par hossec

Partager ce message


Lien à poster
Partager sur d’autres sites

Deux erreurs : l'une suite à une erreur de copié-collé lors de la mise en page du Guide au format HTML sur le site (tu n'y es pour rien ;) ), et une erreur de faute de frappe dans mon PDF qui s'est retrouvé aussi dans le tuto sur le site (tu n'y es pour rien donc non plus).

 

La première en rouge, la deuxième en bleue.

 

 

chcp 1252

@echo off

del /q %temp%\rapportVacUSB.txt

echo %date% - %time% - Vaccin USB - Gof>%temp%\rapportVacUSB.txt

echo. >>%temp%\rapportVacUSB.txt

goto lecteur

:vaccon

echo Répertoires et fichiers vaccins :>>%temp%\rapportVacUSB.txt

echo. >>%temp%\rapportVacUSB.txt

FOR /f %%g in (%temp%\lecteur.txt) do for /f %%h in (%temp%\nomrep.txt) do (

if exist "%%g\%%h" echo %%g\%%h Present >> %temp%\rapportVacUSB.txt

if exist "%%g\%%h" attrib.exe -h -r -s -a "%%g\%%h"

if exist "%%g\%%h" del /q "%%g\%%h"

rd /s /q "%%g\%%h"

md "%%g\%%h"

type nul > "\\?\%%g\%%h\con.Repertoire vaccin"

if exist "\\?\%%g\%%h\con.Repertoire vaccin" echo %%g\%%h - Vaccin Ok >> %temp%\rapportVacUSB.txt

attrib.exe +h +r +s +a "%%g\%%h"

)

goto sortie

:sortie

echo.>> %temp%\rapportVacUSB.txt

echo %date% - %time% : Fin.>> %temp%\rapportVacUSB.txt

start %temp%\rapportVacUSB.txt

exit

:lecteur

del /q %temp%\lecteur.txt

echo Lecteur détectés :>>%temp%\rapportVacUSB.txt

echo. >>%temp%\rapportVacUSB.txt

for %%i in (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, y, y, z) do (

vol %%i:

if not errorlevel 1 echo %%i: >>%temp%\lecteur.txt

vol %%i:

if not errorlevel 1 vol %%i: >>%temp%\rapportVacUSB.txt

)

echo. >>%temp%\rapportVacUSB.txt

goto nomrep

:nomrep

echo driver > %temp%\nomrep.txt

echo myfolder >> %temp%\nomrep.txt

echo autorun.inf >> %temp%\nomrep.txt

goto vaccon

 

 

Il manquait

Explications :

 

Il manquait un élément \ pour créer le fichier au nom réservé windows de sorte d'empêcher la suppression du répertoire parent. Le répertoire ou les répertoires ainsi créés étaient facilement supprimables ou modifiables, et l'on perdait l'intérêt du répertoire-vaccin :

  • type nul > "\\?\%%g\%%h\con.Repertoire vaccin"
    if exist "\\?\%%g\%%h\con.Repertoire vaccin" echo %%g\%%h - Vaccin Ok >> %temp%\rapportVacUSB.txt

Il manque un élément > dans l'ajout des noms de répertoires à créer, ce qui fait que le batch écrasait les noms les uns après les autres, pour ne garder que le dernier (autorun.inf dans ton cas). En rajoutant la >, il écrit les noms les uns à la suite des autres, ce qui permet de créer plusieurs répertoires :

  • echo driver > %temp%\nomrep.txt
    echo myfolder >> %temp%\nomrep.txt
    echo autorun.inf >> %temp%\nomrep.txt

Partager ce message


Lien à poster
Partager sur d’autres sites

salut,

 

J'ai eu la réponse sur un autre Forum

Pour ceux que ça intéresse voici l'adresse de la réponse

http://www.cppfrance.com/forum/sujet-PROBLEME-SUR-CREATION-FICHIER-BAT_1490882.aspx#2

 

Merci à vous tous

 

Hossec

 

Ok vu mais qu'parès avoir rédigé ma réponse. Cependant, attention, j'ai posté ici pour indiquer une autre erreur :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×
×
  • Créer...