N'importe qui peut écrire des fichiers chauve-souris ! Créer des fichiers batch pour effectuer des tâches spécifiques

Si vous n'avez besoin d'aucun logiciel installé sur votre ordinateur le logiciel fonctionnait tout le temps. Que vous souhaitiez économiser des ressources système ou simplement créer un environnement sans distraction en un seul clic, un simple fichier batch peut vous aider.

Voyons d'abord comment créer un fichier batch, Pour ceux qui connaissent le script Windows, voyons comment utiliser quelques commandes simples pour démarrer ou arrêter les ressources de service ou arrêter une application.
Créez un fichier batch et exécutez l'application.
Pour créer un fichier batch, il vous suffit de créer un nouveau fichier texte avec l'extension . Bat et entrez n’importe quelle commande dans le fichier de la même manière que vous l’utiliseriez sur la ligne de commande. Exécutez ensuite le fichier batch (par exemple en double-cliquant dessus) et il exécutera les commandes dans l'ordre que vous avez écrit dans le fichier. Assez simple?
Si vous souhaitez créer une nouvelle instance d'application, elle doit commencer par des commandes. Par exemple, pour créer un fichier batch que vous avez créé dans le Bloc-notes et que vous souhaitez ouvrir dans une nouvelle fenêtre de l'Explorateur, placez ces deux lignes dans le fichier batch :

démarrer le bloc-notes
démarrer l'explorateur c:\path\to\start

Le fichier batch sur la console affiche chaque commande, donc si vous souhaitez éviter cela, vous pouvez ajouter un symbole @ avant la commande pour éliminer la sortie supplémentaire, ou vous pouvez simplement écrire cette ligne en haut du fichier :
@ÉCHO OFF
Maintenant que nous avons quelques bases simples sur les fichiers batch, passons à des tâches plus utiles sur les fichiers batch. (N'oubliez pas que vous pouvez copier et coller n'importe laquelle des commandes ci-dessous dans un fichier texte, l'enregistrer avec une extension .bat et vous obtiendrez un fichier batch.)
Arrêtez ou démarrez les services dans un fichier batch.
De nos jours, de nombreuses applications installent un ensemble de services auxiliaires qui aident l'application, mais il n'est pas vraiment nécessaire qu'ils soient exécutés en permanence. Par exemple, les logiciels de machine virtuelle, qui installent souvent un ensemble de services lourds qui utilisent beaucoup de ressources supplémentaires. ressources. Si vous n’utilisez pas la machine virtuelle tout le temps, elle ne devrait vraiment pas fonctionner.
Ce que nous pouvons faire, Il s'agit de créer un fichier batch qui arrête les services, ainsi qu'un autre fichier batch qui les redémarre. Pour ce faire, vous pouvez simplement utiliser une commande de démarrage ou d'arrêt pure comme premier paramètre, puis le nom du service après. Vous pouvez utiliser le service avec un nom court ou un nom d'affichage entre guillemets, comme dans l'un de ces deux exemples :
arrêt net wuaserv
NET STOP "Mise à jour Windows"
Vous pouvez trouver les noms de services assez facilement en ouvrant l'outil Services (utilisez la recherche du menu Démarrer pour rechercher les services et les lancer) et double-cliquez sur l'un des services. Vous verrez le nom court du service qui est souligné dans l'exemple ci-dessous :

(Et pour un autre aperçu des services qui s'exécutent actuellement sur votre système, ouvrez le Gestionnaire des tâches de Windows (Ctrl + Maj + Échap) et accédez à l'onglet Services.)
Vous pouvez redémarrer le service en utilisant la commande ci-contre, comme ceci :
démarrage net wuaserv

Notez que si vous utilisez Windows 7 ou Vista et que l'UAC est toujours activé, vous devez exécuter le fichier batch en tant qu'administrateur pour arrêter le service. Vous pouvez créer un raccourci vers un fichier de commandes et spécifier Toujours utiliser en tant qu'administrateur dans les propriétés du raccourci pour éliminer le besoin de cliquer avec le bouton droit à chaque fois.
Tuer les applications à l'aide d'un fichier batch
Bien que l'arrêt des services soit utile pour libérer certaines ressources système, vous pourrez libérer beaucoup plus de ressources en supprimant les applications qui ne devraient pas être exécutées, ce qui peut également ne pas être très utile et distraire avec les notifications et interférer avec votre concentration. Par exemple, si vous devez vraiment écrire un article, vous pouvez créer un fichier KillDistractions.bat qui désactive toutes les autres applications à l'exception de votre éditeur de texte préféré.
Pour tuer des applications depuis la ligne de commande ou un fichier batch, il suffit d'utiliser la commande Taskkill avec le paramètre /IM, qui fait correspondre le nom de la colonne image avec le gestionnaire de tâches, qui n'est en fait que le nom de fichier de l'exécutable. Par exemple, pour tuer le Bloc-notes, vous pouvez utiliser la commande :

taskkill /IM bloc-notes. exe

Cette commande simulera par défaut un clic sur le X rouge dans le coin de la fenêtre, vous serez donc invité à enregistrer votre travail si nécessaire. Si vous souhaitez supprimer instantanément une application sans enregistrer, vous pouvez utiliser l'option /F pour ne pas enregistrer, par exemple :
Taskkill /F /IM notepad.exe
Taskkill /F /IM chrome.exe
Avec la commande Taskkill, vous avez le choix entre de nombreuses autres options, qui peuvent être visualisées avec le paramètre /?. (par exemple, comme Taskkill /?).
Créer un raccourci pour exécuter le fichier batch
Maintenant que nous avons exécuté les commandes de base que vous créeriez dans un fichier batch qui démarre ou arrête tous les services et applications que nous ne voulons pas exécuter, nous pouvons faire en sorte que la dernière ligne du fichier batch démarre les applications lorsque nous prévoyons de le faire. commencez à travailler, puis configurez un raccourci pour exécuter le fichier de commandes, réduisez la fenêtre d'invite de commande à l'écran. Alors faites un clic droit sur le bureau ou dans n'importe quelle fenêtre de l'Explorateur, allez dans Nouveau -> « Raccourci » et spécifiez le chemin d'accès à votre script batch.

Si vous appuyez sur le bouton dans la fenêtre contextuelle« Avancé » vous pouvez spécifier, si nécessaire, d'exécuter l'application avec des droits d'administrateur. Si vous arrêtez un service dans un fichier de commandes, vous devrez utiliser cette option, même s'il convient de noter que toutes les applications que vous écrivez dans le fichier de commandes s'exécuteront également en tant qu'administrateur. Mais si vous avez désactivé l'UAC, cela n'aura pas d'importance.
Mettre tous ensemble
Maintenant que vous savez comment arrêter des services, supprimer des applications et créer des raccourcis appropriés, il est temps de tout rassembler dans des combinaisons utiles. Voici un exemple de script que j'utilise pour supprimer les applications distrayantes afin de passer en mode d'enregistrement, mais vous pouvez le personnaliser comme bon vous semble chaque fois que vous pourriez avoir besoin de quelque chose.
Taskkill /IM tweetdeck.exe
Taskkill /IM chrome.exe
Taskkill /IM firefox.exe
Taskkill /IM pidgin.exe
Taskkill /IM notepad.exe
Comme j'utilise souvent une machine virtuelle, pour en faire quelques tests, j'ai également créé des fichiers batch qui démarrent et arrêtent le service en cas de besoin pour m'assurer de ne pas gaspiller de ressources lorsque j'ai réellement besoin que la machine virtuelle soit en cours d'exécution. Pour arrêter le service, j'ai créé un fichier appelé stopvmware . bat, bien qu'il existe également un ensemble de tous ces services pour le téléchargement manuel, je ne l'ai donc utilisé qu'après avoir fermé VMware.
NET STOP VMAuthdService
NET STOPVMnetDHCP
NET STOP "Service VMware NAT"
NET STOP "VMUSBArbService"
Ensuite, lorsque j'ai besoin de redémarrer VMware, je peux simplement utiliser mon fichier startvmware.bat, qui démarre le service puis démarre l'application VMware.
NET START VMAuthdService
NET DÉBUT VMnetDHCP
NET START « Service NAT VMware »
NET DÉBUT "VMUSBArbService"
Démarrez « C:\Program Files (x86)\VMware\VMware Workstation\vmware.exe »
Vous pouvez personnaliser ces scripts, pour faire ce que vous voulez, cela devrait donner à votre outil les outils dont vous avez besoin pour commencer à créer vos propres fichiers batch qui vous feront gagner du temps.

Les fichiers batch ou batch sont des fichiers texte ordinaires contenant des ensembles de commandes d'interpréteur et ayant l'extension bat ou cmd (cmd ne fonctionne que dans les systèmes d'exploitation de la famille NT). Vous pouvez modifier ces fichiers à l'aide du Bloc-notes ou de tout autre éditeur de texte.

Ouvrez le bloc-notes et tapez les deux lignes suivantes :

@echo Ce fichier batch
@pause

Ce fichier batch
Appuyez sur n'importe quelle touche pour continuer...

Après avoir appuyé sur n'importe quelle touche, la fenêtre se fermera, car Le fichier bat est terminé.
Veuillez noter que le symbole du chien devant chaque commande dans le fichier bat indique que la commande elle-même n'a pas besoin d'être affichée à l'écran, mais que seul le résultat de son opération doit être affiché. Pour expérimenter, supprimez le personnage de chien au début de chaque ligne, enregistrez et exécutez le fichier chauve-souris résultant.

Commandes utilisées dans les fichiers bat

La liste des commandes pouvant être utilisées dans les fichiers bat peut être consultée en saisissant la commande dans la ligne de commande (Démarrer - Exécuter - cmd pour la famille Windows NT ou Démarrer - Exécuter - commande pour la ligne 9x).

Le résultat de l'aide est une liste de commandes disponibles avec de brèves explications. Pour obtenir des informations plus détaillées sur la commande qui vous intéresse, saisissez help command_name sur la ligne de commande. Par exemple, pour obtenir une aide détaillée sur les commutateurs de commande AT, exécutez la commande suivante :

En conséquence, une liste de touches permettant d'exécuter la commande AT à partir du fichier bat sera affichée à l'écran.
Si le fichier bat est exécuté sous Windows (pas sous DOS pur), vous pouvez alors exécuter n'importe quelle application ou ouvrir des fichiers à partir de celui-ci. Par exemple, vous devez ouvrir automatiquement le fichier journal du fichier bat lorsqu'il termine son travail. Pour ce faire, incluez simplement la commande suivante dans le fichier bat comme dernière ligne :

démarrer le nom de fichier.txt

Le résultat de l'exécution de cette commande sera l'ouverture du fichier file_name.txt, et le fichier bat lui-même terminera son travail. Cette méthode est utile si le fichier journal est petit, sinon le Bloc-notes refusera de l'ouvrir, vous suggérant d'utiliser WordPad. Mais ce problème peut également être résolu, comme le montreront d’autres exemples.

Comment automatiser le lancement des fichiers bat

Très souvent, il est nécessaire d'automatiser le lancement des fichiers bat pour effectuer des opérations de routine. Pour exécuter des fichiers bat selon un calendrier, le planificateur inclus dans le package Windows standard est le plus approprié. Avec cette aide, vous pouvez configurer de manière très flexible le lancement d'un fichier batch à certains jours ou heures, avec un certain intervalle. Vous pouvez créer plusieurs horaires, etc.

Pour lancer des fichiers batch localement, vous pouvez utiliser des solutions tierces ; heureusement, il existe de nombreuses alternatives payantes et gratuites au Scheduler standard.

Les fichiers batch peuvent également être utilisés comme scripts de connexion dans les domaines. Lorsqu'ils sont utilisés de cette manière, ils seront exécutés à chaque fois que l'utilisateur se connectera au réseau, quel que soit son souhait. Avec leur aide, vous pouvez automatiser la collecte d'informations sur les machines ou les logiciels installés sur les ordinateurs des utilisateurs, modifier de force les paramètres Windows, installer des logiciels sans que l'utilisateur ne s'en aperçoive et automatiser la solution d'autres tâches qui prendraient beaucoup de temps à exécuter manuellement.

Comment créer un fichier avec un nom arbitraire à partir d'un fichier bat

Un symbole de redirection est utilisé pour créer un fichier pendant l'exécution d'un fichier batch. Cela ressemble à ceci :
>
Ceux. pour créer un fichier, vous devez rediriger le flux de l'écran vers le fichier. Cela peut être fait en utilisant la commande suivante :

@echo Fichier de démarrage>C:\1.txt

Après avoir exécuté cette commande, un fichier texte avec la ligne Start file sera créé à la racine du lecteur C.
Lors de la création d'un fichier, vous pouvez utiliser des variables système ou des parties de celles-ci dans son nom. Par exemple, vous pouvez créer un fichier de rapport sur le fonctionnement d'un fichier bat avec un nom égal à la date de lancement du fichier bat. Pour ce faire, vous pouvez utiliser les lignes suivantes dans le fichier bat.

définir datetemp=%date:~-10%
@echo .>%SYSTEMDRIVE%\%DATETEMP%.txt

Ces deux lignes fonctionnent comme ceci. Tout d'abord, nous créons une variable datetemp en mémoire, à laquelle nous attribuons 10 caractères de droite à gauche à partir de la variable système DATE. Ainsi, la variable temporaire datetemp contient désormais uniquement la date actuelle. Avec la ligne suivante, nous redirigeons la sortie du symbole point vers un fichier dont le nom est tiré de la variable datetemp et l'extension txt est spécifiée explicitement. Le fichier sera créé sur le disque système de l'ordinateur sur lequel le fichier bat est exécuté.

Lorsqu'un administrateur collecte des informations sur les ordinateurs du réseau, il sera plus pratique d'ajouter le nom de l'ordinateur au nom du fichier. Cela peut être facilement fait en utilisant la commande suivante :

@echo .>C:\FolderName\%COMPUTERNAME%.txt

Cette commande, lors de l'exécution d'un fichier batch, créera un fichier texte sur le lecteur C avec le nom de l'ordinateur sur lequel le fichier batch est exécuté.
Pour créer un fichier avec un nom spécifique, vous pouvez utiliser n'importe quelle variable système ou créer la vôtre en fonction de variables système et/ou d'autres données.

Comment créer un dossier à partir d'un fichier bat

Pour créer un dossier, utilisez la commande MKDIR ou son équivalent abrégé MD. Pour créer un dossier à partir d'un fichier bat, vous devez utiliser la commande suivante :

Après avoir exécuté cette commande, un dossier FolderName sera créé dans le dossier à partir duquel le fichier bat a été lancé. Pour créer un fichier dans un emplacement autre que celui où vous avez démarré le fichier bat, par exemple à la racine du lecteur D, utilisez une indication explicite de l'emplacement du nouveau dossier. La commande ressemblera à ceci :

MD D:\Nom du dossier

Lors de la création de dossiers, vous pouvez utiliser des variables système. Par exemple, vous pouvez créer un dossier à la racine du lecteur D avec le nom de l'utilisateur actuel. Pour ce faire, vous aurez besoin de la variable %USERNAME%, et la commande ressemblera à ceci :

MD D :\%NOM D'UTILISATEUR%

Vous pouvez compliquer davantage la commande et créer un dossier avec le nom de l'utilisateur actuel sur le lecteur système de son ordinateur. La commande pour cela ressemblerait à ceci :

MD %SYSTEMDRIVE%\%USERNAME%

Lors de la création de dossiers ou de fichiers, vous pouvez utiliser n'importe quelle variable système ou partie de celle-ci. L'exemple suivant montre la création d'un dossier sur le lecteur système de l'ordinateur de l'utilisateur avec un nom égal à la date actuelle.

définir datetemp=%date:~-10%
MD %SYSTEMDRIVE%\%datetemp%

Cette conception fonctionne comme suit.
La première commande crée une variable datetemp en mémoire, qui sera détruite une fois l'exécution du fichier bat terminée. Jusqu'à ce que le fichier bat ait terminé son travail, il est possible d'opérer avec la valeur de cette variable. La variable datetemp se voit attribuer 10 caractères de droite à gauche de la variable système DATE, c'est-à-dire à partir de la date actuelle. La variable DATE a le format Jour JJ.MM.AAAA. Les premiers caractères à gauche sont le nom du jour de la semaine, nous les supprimons donc et attribuons uniquement la date actuelle à la variable temporaire datetemp.
Cela ne limite pas la liste des possibilités lors de la création de dossiers. Vous pouvez manipuler les variables comme vous le souhaitez, en créant des dossiers avec des noms uniques et faciles à lire. Vous pouvez obtenir une liste de toutes les variables à l'aide de la commande SET.

Comment rediriger le résultat de l'exécution d'une commande vers un fichier

Souvent, lors de l'exécution d'un fichier bat complexe en mode automatique, vérifier les résultats de son travail peut être difficile pour de nombreuses raisons. Par conséquent, il est plus facile d'écrire les résultats des commandes du fichier batch dans un fichier texte (fichier journal). puis analysez le bon fonctionnement du fichier bat à l'aide de ce log.
La redirection du résultat des commandes du fichier bat vers un fichier journal est assez simple. Ce qui suit montrera comment cela peut être fait.
Créez un fichier bat avec le contenu suivant (copiez ces lignes dans le Bloc-notes et enregistrez le fichier avec l'extension bat) :

@Écho off
echo Début %time%
echo Créer test.txt
test d'écho>C:\test.txt
echo Copier Test.txt vers Old_test.txt
copier C:\test.txt C:\Old_test.txt
echo Arrêter %time%

La première ligne désactive la sortie des commandes elles-mêmes. Ainsi, seuls les résultats de leur exécution seront écrits dans le fichier journal.
La deuxième ligne écrit dans le fichier journal l'heure de début du fichier batch.
La troisième ligne écrit dans le fichier journal une explication selon laquelle la commande suivante créera un fichier test.txt
La commande de la quatrième ligne crée un fichier test.txt à partir de la racine du lecteur C. Le fichier est créé par exemple. Cette commande écrit le mot test dans le fichier C:\test.txt
La cinquième ligne imprime dans le fichier journal une explication indiquant que la commande suivante copie un fichier d'un emplacement à un autre.
La commande de la sixième ligne copie le fichier créé C:\test.txt dans le fichier C:\Old_test.txt, c'est-à-dire une copie du fichier est créée sous un nouveau nom.
La dernière et septième ligne contient une commande pour afficher l'heure d'achèvement du fichier batch. Associées à l'enregistrement de l'heure de début du fichier batch dans le fichier journal, ces deux valeurs temporelles permettent d'estimer la durée d'exécution du fichier batch.

Enregistrez ce fichier batch sous un nom tel que 1.bat
Supposons que nous souhaitons stocker un rapport sur le fonctionnement d'un fichier batch dans un dossier séparé et rédiger un rapport chaque jour avec un nouveau nom de fichier, afin de pouvoir accéder aux journaux des jours précédents n'importe quel jour. De plus, j'aimerais avoir le nom du fichier journal sous la forme de la date de fonctionnement du fichier batch. Pour implémenter tout cela, créons un dossier sur le lecteur C (par exemple) nommé LOG, c'est-à-dire le chemin d'accès complet ressemblera à C:\LOG. Nous allons exécuter le fichier batch créé 1.bat avec la commande suivante :

1.bat>C:\LOG\%date~-10%.txt

Si le fichier batch doit être lancé à partir du planificateur, vous devez alors spécifier le chemin complet du fichier bat. N'oubliez pas que s'il y a des espaces dans le chemin, vous devez utiliser soit des guillemets, soit le format 8.3. Autrement dit, si le chemin d'accès au fichier bat est C:\Program Files\1.bat, par exemple, alors dans la ligne de commande du planificateur pour exécuter le fichier bat, vous devez spécifier l'une des lignes suivantes :

"C:\Program Files\1.bat">C:\LOG\%date~-10%.txt
C:\Progra~1\1.bat>C:\LOG\%date~-10%.txt

Après avoir exécuté le fichier 1.bat, un fichier sera créé dans le dossier C:\LOG avec un nom égal à la date de lancement du fichier bat, par exemple, 13/01/2004.txt. Il s'agira d'un rapport sur le fonctionnement du fichier batch 1.bat
L'exécution du fichier bat, dont un exemple est présenté dans la première liste en haut de la page, à l'aide de la commande ci-dessus, entraînera la création d'un fichier journal avec le contenu suivant :

Début 19:03:27.20
Créer un fichier test.txt
Copiez Test.txt dans Old_test.txt
Fichiers copiés : 1.
Arrêt 19:03:27.21

Ainsi, pour rediriger les résultats d'un fichier bat vers un fichier log, il faut utiliser le symbole de redirection > La syntaxe est la suivante :

Chemin\FileName.bat>Chemin\LogFileName.txt

L'extension du fichier journal peut être n'importe quoi. Si vous le souhaitez, un rapport sur l'exécution d'un travail par lots peut même être formaté sous forme de page HTML (les balises correspondantes peuvent être générées dans un fichier journal de la même manière que les commentaires ont été générés dans l'exemple 1.bat) et copié dans un fichier d'entreprise. serveur.

Comment répondre automatiquement à une demande de confirmation

Certaines commandes nécessitent la confirmation d'une action potentiellement dangereuse lors de leur exécution. Par exemple, des commandes telles que format ou del demanderont d'abord une confirmation avant de poursuivre leur exécution. Si l'une de ces commandes est exécutée dans un fichier batch, l'invite de confirmation arrêtera l'exécution du fichier batch et attendra que l'utilisateur sélectionne l'une des options proposées. De plus, si le résultat de l'exécution d'un fichier batch est redirigé vers un fichier journal, l'utilisateur ne verra pas de demande de confirmation et le fichier batch apparaîtra figé.

Pour corriger ces problèmes, vous pouvez rediriger la réponse souhaitée vers la commande. Ceux. effectuez l'action inverse pour rediriger la sortie de la commande vers un fichier.
Regardons un exemple de ce à quoi ressemble une demande de confirmation d'une action potentiellement dangereuse. Créons, par exemple, un dossier Folder sur le lecteur C. Créons ou copions deux fichiers dedans. Ensuite, ouvrez la ligne de commande et exécutez la commande suivante :

Cette commande devrait supprimer tous les fichiers du dossier spécifié. Mais vous serez d’abord invité à confirmer le contenu suivant :

C:\Dossier\*, Continuer ?

La commande cessera de s'exécuter jusqu'à ce que vous appuyiez sur la touche Y ou sur la touche N. Lors de l'exécution d'un fichier batch en mode automatique, son exécution s'arrêtera.
Pour éviter cela, nous utilisons la redirection. La redirection s'effectue à l'aide du symbole
La ligne verticale indique qu'au lieu d'afficher le symbole à l'écran, il doit être « donné » à la commande qui suit le symbole. Vérifions la redirection. Exécutez la commande suivante sur la ligne de commande :

echo Y|del C:\Dossier

L'écran affichera une demande de confirmation de la suppression de tous les fichiers du dossier Dossier, mais avec une réponse positive (Y). Tous les fichiers du dossier Dossier seront supprimés.
Soyez prudent avec cette commande.

Comment désactiver les commandes affichées lors de l'exécution d'un fichier batch

Lors de l'exécution d'un fichier batch, en plus des résultats de la commande, les commandes elles-mêmes sont également affichées. Vous pouvez utiliser le symbole @ pour supprimer la sortie de la commande.
Pour éviter d'imprimer une commande à l'écran, vous pouvez mettre un signe @ au début de la commande.

Cette commande affichera la commande echo Testing, et sur la ligne suivante - le résultat de son opération, le mot Testing.

Cette commande affichera uniquement le résultat de la commande, c'est-à-dire le mot Test. La commande elle-même ne sera pas émise.
Si vous n'avez pas besoin d'afficher des commandes à l'écran tout au long de l'exécution de l'intégralité du fichier, il est alors plus facile d'écrire la commande suivante comme première ligne du fichier batch :

Cette commande désactivera la sortie de la commande à l’écran pendant toute la durée du fichier de commandes. Pour éviter que la commande elle-même ne soit imprimée, elle commence par le symbole @.

Comment en exécuter un autre à partir d'un fichier bat

Parfois, lors de l'exécution d'un fichier batch, il devient nécessaire d'exécuter un autre fichier batch. De plus, dans certains cas, l'exécution du fichier batch principal doit être suspendue pendant l'exécution du fichier auxiliaire, et dans d'autres, le fichier auxiliaire doit s'exécuter en parallèle avec le fichier principal.
Par exemple, créons deux fichiers bat. Un nommé 1.bat et contenant une seule commande

Le second s'appelle 2.bat et contient également une commande

Exécutons maintenant le fichier 1.bat. Une fenêtre s'ouvrira dans laquelle il vous sera demandé d'appuyer sur n'importe quelle touche pour continuer, après avoir appuyé sur laquelle la fenêtre se fermera. Ainsi, l'appel d'un fichier batch à un autre à l'aide de la commande call arrête l'exécution du fichier batch jusqu'à ce que le fichier batch appelé par la commande call termine son exécution.

Dans un autre cas, vous devez lancer soit une application, soit un autre fichier batch à partir d'un fichier bat sans interrompre l'exécution du fichier batch principal. Cela doit souvent être fait, par exemple, en ouvrant de force le journal d'un fichier batch programmé pour la nuit, afin que le matin l'utilisateur puisse vérifier l'exactitude de son exécution. Pour ce faire, utilisez la commande start. Corrigeons la ligne du fichier 1.bat en

et exécutez le fichier 1.bat. Maintenant, une fenêtre s'est ouverte dans laquelle vous devez appuyer sur n'importe quel bouton pour continuer, et la fenêtre du fichier batch principal (1.bat) s'est fermée.
Ainsi, pour en appeler un autre à partir d'un fichier batch, sans arrêter le premier fichier batch, vous devez utiliser la commande start.
Les commandes de démarrage et d'appel décrites ci-dessus peuvent être utilisées non seulement pour lancer d'autres fichiers batch, mais également pour lancer des applications ou ouvrir des fichiers.
Par exemple, la commande start log.txt dans le corps d'un fichier de commandes ouvrira le fichier log.txt dans le Bloc-notes sans arrêter le fichier de commandes.

Comment envoyer un message à partir d'un fichier bat

Lorsqu'un fichier batch est en cours d'exécution sur l'une des machines du réseau, il est pratique d'informer l'administrateur que son exécution est terminée à l'aide d'un message envoyé à la machine de l'administrateur. Vous pouvez le faire en incluant la commande dans le fichier batch

nom d'envoi net Texte du message

Où nom est le nom de la machine ou de l'utilisateur auquel le message est adressé, et Texte du message est le texte du message. Après avoir exécuté cette commande, un message sera envoyé au nom d'utilisateur.
Veuillez noter que lorsque vous utilisez le cyrillique dans le texte d'un message, le texte doit être saisi en codage MS-DOS (page de codes 866). Dans le cas contraire, le message arrivera sous forme de caractères illisibles. Vous pouvez saisir du texte avec le codage DOS à l'aide de n'importe quel éditeur de texte prenant en charge ce codage. Cela pourrait être, par exemple, FAR. Ouvrez un fichier batch pour le modifier dans FAR (F4) et appuyez sur le bouton F8. La ligne supérieure de l'éditeur doit indiquer l'encodage DOS, et en bas, dans l'info-bulle concernant les touches de raccourci, la touche F8 doit avoir l'inscription Win, indiquant que l'encodage actuel est DOS et pour passer à l'encodage Win dont vous avez besoin pour appuyer sur F8.

Comment automatiser la suppression de fichiers par type

Pour vider votre disque des fichiers temporaires, vous pouvez utiliser la commande

del /f /s /q C:\*.tmp


/f - supprime tous les fichiers, même s'ils ont l'attribut en lecture seule défini
/s - supprime les fichiers de tous les sous-répertoires
/q - désactive la demande de confirmation de suppression de fichier
C : est le lecteur sur lequel les fichiers seront trouvés et supprimés. Vous pouvez spécifier non pas le disque entier, mais un dossier, par exemple C:\WinNT
*.tmp - type de fichiers qui seront supprimés

Soyez prudent avec le commutateur /q et les types de fichiers que vous supprimez. La commande supprime sans demander la permission et, si un mauvais type de fichier est spécifié, elle peut supprimer les fichiers inutiles.

Comment changer l'adresse IP d'un ordinateur à partir d'un fichier batch

L'adresse IP peut être modifiée à l'aide de la commande netsh.
Pour modifier correctement l'adresse IP, vous devez d'abord connaître la configuration actuelle. Cela peut être fait sur la ligne de commande en utilisant la commande

adresse IP de l'interface netsh

Le résultat de cette commande est d'afficher la configuration actuelle de l'interface réseau. Nous sommes intéressés par le nom de l'interface. Disons que cela s'appelle FASTNET.
Supposons que vous deviez changer l'adresse IP en 192.168.1.42, l'adressage réseau est statique, sans utiliser DHCP, la passerelle est 192.168.1.1, le masque est 255.255.255.0. Dans ce cas, la commande qui doit être exécutée depuis le fichier batch ressemblera à ceci :

netsh interface ip set adresse nom = "FASTNET" statique 192.168.1.42 255.255.255.0 192.169.1.1 1

Après avoir exécuté cette commande, l'adresse IP de l'interface FASTNET deviendra 192.168.1.42.
La commande netsh offre des fonctionnalités étendues pour gérer les paramètres réseau à partir de la ligne de commande. Pour d'autres fonctionnalités, consultez l'aide utilisant netsh /?

Comment connaître le nom de l'ordinateur à partir d'un fichier bat

Pour connaître le nom de l'ordinateur lors de l'exécution d'un fichier bat (pour utiliser cette valeur à l'avenir), utilisez la commande

Cette commande renvoie le nom de l'ordinateur sur lequel elle s'exécute.

Comment renommer des fichiers par masque à partir d'un fichier batch

Parfois, il devient nécessaire de renommer tous les fichiers d'un dossier à l'aide d'un modèle issu d'un fichier batch. Cela peut être fait en utilisant la commande suivante dans le fichier bat :

for /f "tokens=*" %%a in ("dir /b PATH\*.*") do ren PATH\%%a Préfixe%%a

Dans cette ligne, vous devez remplacer PATH\ par le chemin d'accès aux fichiers qui seront renommés et Prefix par les caractères qui seront ajoutés au nom du fichier lors du renommage.
Ne placez pas le fichier batch dans le dossier où le changement de nom a lieu, sinon il sera également renommé. S'il y a des sous-dossiers dans le dossier où les fichiers sont renommés, alors un préfixe sera également ajouté au nom du sous-dossier, c'est-à-dire les sous-dossiers seront renommés comme des fichiers.
Si vous spécifiez un masque spécifique pour les types de fichiers soumis à renommage, par exemple *.txt, et non *.* comme dans l'exemple, alors seuls les fichiers des types spécifiés seront renommés. Les autres fichiers et dossiers ne seront pas renommés.

Deuxième option:
définir lePATH=C:\test
pour %%I dans (*.txt) faites ren "%thePATH%\%%~nxI" "%%~nI.dat"
Comment utiliser le symbole de pourcentage dans un fichier batch

Pour utiliser le symbole de pourcentage (%) dans un fichier batch, vous devez l'écrire deux fois. Par exemple
écho 50%%
Cette commande dans le fichier bat affichera 50%. Si vous utilisez la commande echo 50%, alors seul le chiffre 50 sera affiché à l'écran.
Tenez compte de cette fonctionnalité lorsque vous utilisez le symbole % lors de l'écriture de fichiers batch.

Comment exporter le registre à partir d'un fichier batch

regedit.exe -ea C:\environment.reg "HKEY_CURRENT_USER\Environment"

Cette commande, lors de l'exécution d'un fichier batch, videra la branche HKEY_CURRENT_USER\Environment dans le fichier C:\environment.reg. Lorsque vous devrez restaurer les valeurs des paramètres dans HKEY_CURRENT_USER\Environment, il suffira d'exécuter l'environnement.reg déposer. Cette commande peut être utilisée pour effectuer une sauvegarde quotidienne des logiciels et des paramètres système stockés dans le registre.
N'oubliez pas que s'il y a un espace dans le chemin où le fichier de sortie doit être enregistré ou dans le nom de la ruche de registre, ils doivent être mis entre guillemets.

Comment importer les valeurs des variables de registre à partir d'un fichier batch

S'il est nécessaire d'importer des valeurs de variables précédemment enregistrées ou de nouvelles valeurs dans le registre à partir d'un fichier batch, cela peut être fait à l'aide de la commande

regedit.exe -s C:\environnement.reg

Cette commande importe les données du fichier environnement.reg dans le registre sans demander de confirmation à l'aide du commutateur -s.

Comment contourner la vérification de la date à partir d'un fichier bat

Certains logiciels vérifient la date actuelle du système au démarrage. Si la date est supérieure à celle fixée par le développeur, le programme ne démarre pas. Par exemple, un développeur estime qu'une version d'un programme peut fonctionner pendant un mois, puis l'utilisateur devra installer une version mise à jour du programme. D'une part, c'est une préoccupation pour l'utilisateur, qui aura à sa disposition la dernière version du programme avec les défauts éliminés par rapport aux versions précédentes. D'autre part, le fabricant oblige l'utilisateur à télécharger une nouvelle version même si l'utilisateur est entièrement satisfait de la version du programme qu'il a installé. Ce problème peut être facilement résolu à l'aide du fichier batch suivant, qui exécutera le programme, attendra qu'il se termine et renverra la date à celle qui était avant le lancement du programme.

définir tempdate=%date:~-10%
le 01-01-04
bloc-notes.exe
date %tempdate%

Dans cet exemple, la date système actuelle est d'abord stockée dans une variable, puis (dans la deuxième ligne) la date système est définie sur le 1er janvier 2004, puis un programme est appelé pour vérifier la date système. Dans cet exemple, il s'agit du Bloc-notes. Tant que le Bloc-notes est ouvert, le fichier de commandes attend sans terminer ni réinitialiser la date du système. Une fois le Bloc-notes fermé, le fichier batch continuera à s'exécuter et définira la date système sur la valeur stockée dans la variable tempdate, c'est-à-dire à celui qui était avant d'exécuter le fichier batch.

N'oubliez pas que si le chemin d'accès au fichier qui exécute le programme contient des espaces, alors il (le chemin) doit être mis entre guillemets. Si le chemin contient du cyrillique, lors de l'écriture d'un fichier batch, vous devez utiliser un éditeur de texte prenant en charge le codage DOS (par exemple, FAR). Sinon, lorsque vous exécutez le fichier batch, un message s'affichera indiquant que « le fichier spécifié n'est pas une commande interne ou externe... ».

Si un programme vérifie la date système actuelle uniquement lorsqu'il démarre et ne le fait plus pendant le fonctionnement, alors le fichier batch peut être modifié en ajoutant une instruction start avant le nom du fichier exécutable du programme, c'est-à-dire notre exemple ressemblera à ceci :

définir tempdate=%date:~-10%
le 01-01-04
démarrer notepad.exe
date %tempdate%

Dans ce cas, le fichier batch modifiera la date du système, lancera le programme et, sans attendre la fin, ramènera la date à celle qui était avant le lancement du programme.

Comment attendre qu'un fichier spécifique apparaisse dans un fichier bat

Parfois, il est nécessaire d'effectuer une action lorsqu'un certain fichier apparaît dans un dossier. Pour organiser un contrôle de l'apparence d'un fichier dans un dossier, vous pouvez utiliser le fichier batch suivant

:test
s'il existe c:\1.txt, allez-y
dormir 10
aller tester
:aller
bloc-notes

Un tel fichier batch vérifiera à intervalles de 10 secondes la présence du fichier 1.txt à la racine du lecteur C et lorsque le fichier 1.txt apparaîtra, l'action spécifiée après l'étiquette go sera effectuée, c'est-à-dire cet exemple lancera le Bloc-notes.
L'utilitaire sleep est distribué gratuitement dans le cadre du kit de ressources. Vous pouvez le télécharger ici.
Si le fichier 1.txt est volumineux et est copié quelque part, il peut arriver que le fichier batch vérifie sa présence alors que le fichier n'a pas encore été copié ou est occupé par une autre application. Dans ce cas, tenter d'effectuer certaines actions avec le fichier 1.txt entraînera une erreur. Pour éviter que cela ne se produise, le fichier batch peut être modifié comme suit

:test
s'il existe c:\1.txt, allez-y
dormir 10
aller tester
:aller
renommer c:\1.txt 1.txt
si ce n'est pas le niveau d'erreur 0, allez-y
supprimer c:\1.txt

Lorsque le fichier 1.txt n'a pas été complètement copié sur le lecteur C, ou est occupé par une autre application, une tentative de le renommer provoquera une erreur et le cycle sera répété jusqu'à ce que le fichier soit complètement copié ou libéré. Une fois la commande rename c:\1.txt 1.txt exécutée sans erreur (c'est-à-dire que le fichier est libre), vous pouvez effectuer n'importe quelle action avec elle. Dans le dernier exemple, il le supprime.

Comment ajouter des commentaires à un fichier bat

Lors de l'écriture d'un gros fichier batch, il est très utile d'ajouter des commentaires à ses blocs principaux. Cela permettra de comprendre facilement ce que font ces blocs au fil du temps.

Les fichiers BAT sont des documents texte dotés d'une extension spéciale. Les commandes y sont écrites pour une exécution ultérieure sur la ligne de commande. En exécutant le fichier, vous activez le programme CMD, il lit les commandes qui sont exécutées séquentiellement. De cette façon, vous pouvez faciliter le travail avec la ligne de commande tout en conservant l'ordre souhaité. Bien sûr, vous pouvez saisir manuellement toutes les commandes à la fois dans la ligne de commande, cependant, si vous devez répéter les mêmes opérations, il est beaucoup plus pratique de le faire en lisant automatiquement la liste écrite sous la forme d'un document chauve-souris. Cette option est également pratique et pratique car vous pouvez ultérieurement modifier l'ordre, ajouter de nouveaux processus dont vous avez besoin et également supprimer ceux qui sont inutiles.

BAT permet d'automatiser les processus : lancement de programmes, archivage, sauvegardes. Il est donc utile de savoir créer soi-même un fichier bat, le corriger et le compléter.

Travailler avec bat à l'aide du Bloc-notes

Algorithme de création

Le processus de travail via le Bloc-notes n'est pas du tout compliqué. Si vous ne l'avez jamais fait auparavant, vous pouvez très bien le gérer en apprenant à créer un fichier bat et à y ajouter des commandes. Commençons par la création. Ici, suivez strictement l'algorithme :

  1. Lorsque vous créez un document texte, vous l'obtiendrez initialement avec l'extension txt. Il existe plusieurs manières d'effectuer cette opération, certaines dépendent du niveau de Windows que vous avez installé :
    • Dans le dossier que vous avez choisi, faites un clic droit sur le champ, un menu s'ouvrira, là nous sélectionnons « Créer » - « Document texte » ;
    • Lancez « Bloc-notes » via « Démarrer » en sélectionnant « Tous les programmes » - « Accessoires » - « Bloc-notes » (pour Windows 7) ;
    • Dans les versions ultérieures (après 7) de Windows, vous pouvez également ouvrir le « Bloc-notes » via « Démarrer » : passez par « Toutes les applications », puis « Accessoires » - « Windows » et sélectionnez « Bloc-notes » dans la liste ;
    • Ouvrez la fenêtre de commande système à l'aide de la combinaison Win + R, saisissez « bloc-notes » dans la ligne, cliquez sur « Ok ».
  2. Entrez le texte de la commande. Pour essayer, notez, par exemple, « START taskmgr.exe » - démarrez le gestionnaire de tâches. « START » indique à l'interpréteur de commandes qu'un programme doit être lancé, puis l'exécutable du programme est indiqué.
  3. Spécifiez le chemin où enregistrer le document créé.
  4. Précisez dans la fenêtre de sauvegarde :
    • dans la ligne « Type » - « Tous les fichiers » ;
    • dans la ligne « Nom », entrez le nom et l'extension de bat, en l'ajoutant après le nom, en plaçant un point entre le nom et l'extension, par exemple « fichier.bat ».
  5. Cliquez sur « Enregistrer ».

Un fichier batch avec l'extension .bat apparaîtra dans le dossier que vous avez spécifié.

Exécuter un fichier

Il est plus facile d'ouvrir un fichier bat en double-cliquant dessus avec la souris. La deuxième méthode consiste à lancer depuis la ligne de commande : saisissez l'adresse où se trouve le document avec l'extension .bat que vous avez enregistré.

Édition

Si vous souhaitez modifier le document - ajouter des commandes au fichier bat, supprimer certaines d'entre elles, entrer dans un autre programme pour travailler avec lui plus tard - ce n'est pas difficile à faire. Ouvrez le document à l'aide d'un éditeur de texte. Il est pratique de le faire en cliquant avec le bouton droit sur le fichier bat et en sélectionnant « Modifier » dans le menu qui s'ouvre. Le Bloc-notes se lancera – vous pourrez y modifier les commandes, modifier le contenu et effectuer des ajouts.

Application du Dr Batcher

Pour un débutant qui commence tout juste à travailler avec l'interpréteur de commandes et qui l'utilise assez rarement, le Bloc-notes suffit. Si vous souhaitez atteindre un niveau professionnel supérieur, nous vous recommandons d'utiliser l'utilitaire Dr.Batcher. Dans Dr.Batcher, vous pouvez numéroter les pages, les signets sont pris en charge, une liste des commandes système utilisées dans bat, les commandes saisies sont mises en surbrillance.

Création d'un document

L'algorithme est simple et ne nécessite ni compétences ni professionnalisme particuliers. Après avoir téléchargé l'utilitaire, vous pouvez rapidement faire tout ce dont vous avez besoin.

Lancez Dr Batcher.

  1. Ouvrez une nouvelle page : « Fichier » - « Nouveau » ou cliquez sur l'icône de feuille vierge située sous le menu « Fichier ».
  2. Dans la boîte de dialogue, cliquez sur « Fichier batch vide ».
  3. Une fenêtre de programme apparaîtra contenant des fonctions pour travailler avec bat.
  4. Après avoir saisi le texte requis, enregistrez.

Édition

Si vous devez modifier un fichier bat, cela peut être fait de plusieurs manières dans Dr.Batcher :

  1. Faites un clic droit sur l'icône et sélectionnez « Modifier avec Dr.Batcher » dans le menu.
  2. Lancez Batcher. Ouvrez le fichier bat souhaité en suivant le chemin :
  • "Déposer";
  • "Ouvrir";
  • spécifier le chemin d'accès au document ;
  • "Ouvrir".

Après avoir suivi l'un des chemins suggérés, vous ouvrirez l'utilitaire ; il y aura du texte dans la fenêtre où vous pourrez effectuer des ajustements, modifier les commandes, les compléter et supprimer celles qui ne sont pas nécessaires.

Un fichier bat est utile lorsque vous devez automatiser des tâches sous Windows. Surtout s'il est nécessaire d'effectuer plusieurs fois des actions dans un certain algorithme (périodiquement ou de suite). Ceci est généralement requis lors de la création d'un système de répertoires, du renommage groupé de fichiers et d'autres opérations simples et plus complexes. Après avoir enregistré l'ordre des actions, vous pouvez rapidement et sans perdre de temps à saisir manuellement des commandes à tout moment, démarrer le processus, le répéter pour différents programmes, en entrant uniquement leur nom dans le texte final. Les recommandations sur la façon de créer un fichier bat décrites ci-dessus vous aideront non seulement à les créer vous-même, mais également à les modifier.

Ministère de l'Éducation de la Fédération de Russie

TRAVAILLER AVEC DES FICHIERS BATCH

DANS L'ENVIRONNEMENTLES FENÊTRES

cours "Systèmes d'exploitation"

pour les étudiants de la spécialité 220200

éducation à plein temps

Approuvé

conseil de rédaction et d'édition

État de Saratov

Université technique

Saratov 2010

TRAVAILLER AVEC DES FICHIERS BATCH

DANS UN ENVIRONNEMENT WINDOWS

Lignes directrices pour le travail en laboratoire

cours "Systèmes d'exploitation"

Le critique A.F. Rejchikov

Editeur O.A. Panine

N° d'identification de licence 06268 du 14/11/01

Signé pour l'impression le 27.10.10 Format 60x84 1/16

Université technique d'État de Saratov

410054 Saratov, st. Politekhnicheskaya, 77 ans

Introduction

Les directives traitent de la structure des fichiers batch, des méthodes de création de ces fichiers et des méthodes d'automatisation de l'exécution de plusieurs opérations.

Les lignes directrices contiennent une description de l'interpréteur de commandes, la structure des fichiers batch, une description des fonctions utilisées dans les fichiers batch, des exemples de solutions au problème pédagogique, une mission pour effectuer des travaux de laboratoire, des exigences pour la préparation d'un rapport sur les travaux de laboratoire. , ainsi qu'une liste de la littérature nécessaire pour réaliser ce travail de laboratoire.

Les lignes directrices sont destinées aux étudiants de la spécialité 220200, et peuvent également être utilisées par les étudiants d'autres spécialités liées au développement de programmes système.

Objectif du travail : créer des fichiers batch, automatiser l'exécution de plusieurs tâches lors de l'installation et du chargement de Windows, optimiser et augmenter la fiabilité du système.

Interpréteur de commandes et fichiers batch

Fichier batch lot déposer) - un fichier texte sous MS-DOS, OS/2 ou Windows contenant une séquence de commandes destinées à être exécutées par l'interpréteur de commandes. Après avoir exécuté un fichier batch, un programme interpréteur (généralement COMMAND.COM ou CMD.EXE) le lit ligne par ligne et exécute les commandes séquentiellement.

Windows utilise deux interpréteurs de commandes, commad.com et cmd.exe, qui peuvent être lancés via le menu Démarrer (Démarrer->Exécuter->cmd ->OK ou Démarrer->Exécuter->commad ->OK). En figue. 1 montre la possibilité d'utiliser l'aide pour les commandes DOS/Windows. L'aide est disponible en tapant help sur la ligne de commande.

Fig.1 Interpréteur de commandes commad.com

En figue. La figure 2 montre la possibilité de créer un nouveau fichier à l'aide de la commande copy con file_name.extension.

R.
est.2. Interpréteur de commandes cmd.exe

L'utilisation de fichiers batch (*.cmd ou *.bat) permet d'automatiser plusieurs tâches lors de l'installation et du démarrage de Windows. Dans ce cas, aucune intervention de l'utilisateur n'est requise. Ces fichiers peuvent être constitués à partir de cmdlines.txt, svcpack.inf, RunOnceEx une section du registre ou à partir d'une section d'un fichier winnt.sif.

Les fichiers batch prennent en charge toutes les commandes pouvant être exécutées à partir de la ligne de commande. Pour voir la ligne de commande, procédez comme suit : Démarrer->Exécuter->cmd->OK

Regardons un simple fichier batch. Pour ce faire, ouvrez le Bloc-notes et saisissez-y le texte suivant :

TITRE Test des fichiers par lots

ECHO Bonjour tout le monde

Bloc-notes de démarrage ECHO

Démarrer le bloc-notes

ÉCHO. ECHO Démarrage de WordPad

DÉMARRER WordPad

ÉCHO.

SORTIE

Ensuite, vous devez enregistrer le fichier sous n'importe quel nom et à n'importe quel emplacement, mais avec l'extension *.cmd (et non .txt, que le Bloc-notes attribuera par défaut). Lorsque vous exécutez ce fichier, il nommera la fenêtre "Test de fichier par lots", lancera le Bloc-notes et WordPad, vous demandera d'appuyer sur n'importe quelle touche pour continuer et fermera la fenêtre.

Tableau 1

Signification des commandes utilisées dans le fichier batch

@Écho off

Masque la ligne C:\> et toutes les commandes utilisées dans le fichier batch

Crée un espace entre les lignes

message d'écho

Affiche un message dans une fenêtre à titre informatif uniquement

Titre de la fenêtre

Démarre une application ou un processus d'installation

Affiche le message "Appuyez sur n'importe quelle touche pour continuer..."

Ferme la ligne de commande

Lors de l'ajout d'une application pour l'installation automatique à partir du disque d'installation XP, les commandes ressembleront à ceci :

démarrer /attendre %systemdrive%\install\some_application\setup.exe /clé / plus clé,

start lancera l’installation de l’application et /wait attendra qu’elle se termine avant d’installer l’application suivante. L'utilisation de /wait est très importante car... sinon, l'installation de plusieurs applications démarrera simultanément et les conflits seront inévitables.

Les fichiers batch peuvent être lancés à partir de cmdlines.txt ou svcpack.inf, qui sera exécuté au stade T-13/T-12 de l'installation de Windows (T-13 signifie 13 minutes avant la fin de l'installation). cmdlines.txt utile pour des tâches telles que l'ajout d'utilisateurs ou pour l'importation de clés de registre pré-préparées HKEY_CURRENT_USER dans le profil par défaut.

La méthode svcpack.inf est généralement utilisée pour installer les mises à jour (hotfixes). Cependant, rien ne vous empêche de traiter un fichier de commandes comme un simple correctif.

Exemple de contenu de fichier batch :

@Écho off

TITRE Windows XP SP2 - Installation sans assistance

ECHO Dans les prochaines minutes, vous verrez des installations automatisées

ECHO de diverses applications logicielles et modifications du registre en cours

ECHO mis en œuvre.

ECHO Suppression des fonds d'écran et des économiseurs d'écran...

DEL "%systemroot%\*.bmp"

DEL "%systemroot%\Web\Wallpaper\*.jpg"

DEL "%systemroot%\system32\dllcache\*.scr"

DEL "%systemroot%\system32\*.scr"

ECHO Suppression des raccourcis inutiles...

Mettre à jour.lnk"

DEL "%systemdrive%\Documents and Settings\Tous les utilisateurs\Menu Démarrer\Set

Accès au programme et paramètres par défaut.lnk"

DEL "%systemdrive%\Documents and Settings\Tous les utilisateurs\Menu Démarrer\Windows

Catalogue.lnk"

ECHO Installation de TweakUI 2.10 Powertoy

ECHO Veuillez patienter...

démarrer/attendre %systemdrive%\Install\TweakUI.msi /qn

ECHO applique les modifications du registre...

REGEDIT /S %systemdrive%\Install\RegTweaks.reg

ECHO Suppression du compte utilisateur ASP.NET créé par .NET Framework 1.1...

utilisateur net aspnet / supprimer

Ce fichier batch supprime les fonds d'écran et les économiseurs d'écran installés par défaut par le système, ainsi que certains raccourcis. Il installe ensuite TweakUI, importe les clés de registre et supprime le compte ASP.NET créé lors de l'installation du .NET Framework.

Appel de fichiers de commandes externes :

1. Une fois le fichier appelé exécuté, le contrôle n'est pas transféré au fichier appelant.

@ ÉCHO DÉSACTIVÉ

R.E.M.Sortie de listeenregistrer-des dossiers

DIR C:\*. enregistrer

R.E.M.Transférer l'exécution vers un fichierF. chauve souris

COPIER A:\*.* C:\

2. Une fois le fichier appelé exécuté, le contrôle est transféré au fichier appelant :

@ÉCHO OFF

R.E.M.Sortie de listeenregistrer-des dossiers

RÉPERTOIRE C:\*.log

R.E.M.Transférer l'exécution vers un fichierF. chauve souris

APPEL f.bat

COPIER A:\*.* C:\

Déposercmdlines.txt vous devez le mettre dans le répertoire $OEM$ et Windows le trouvera automatiquement lors de l'installation. Tous les fichiers batch lancés à partir de cmdlines.txt, doit être dans le même répertoire que cmdlines.txt.

Déposersvcpack.inf est enregistré dans le répertoire I386 du disque d'installation (vous devez le supprimer de là svcpack.in_). Tous les fichiers batch lancés à partir de svcpack.inf, doit se trouver dans le répertoire I386\svcpack, sauf indication contraire dans le fichier lui-même.

Les fichiers batch utilisent largement les commandes de transfert de contrôle IF, FOR, SHIFT, ainsi que les paramètres transmis depuis la ligne de commande et les opérateurs de redirection d'E/S >, >>,<, |. Полезными оказываются операторы: «+» ‑ слияния файлов, «?» ‑ замены одного символа в имени файла или расширении, «*» ‑ замены нескольких символов в имени файла или расширении.

Les noms du système sont : CON, NULL, AUX, COM1, COM2, PRN, LPT1, LPT2. Ils ne peuvent pas être appelés fichiers.

Même si les utilisateurs d'ordinateurs peuvent désormais facilement se passer de connaissances DOS, d'autant plus que dans le nouveau système d'exploitation DOS il semble qu'il sera complètement absent, leurs connaissances peuvent être utiles dans des situations d'urgence lorsque Windows, pour une raison quelconque, ne veut pas démarrer et que seule la ligne de commande est disponible. De l'aide sur les commandes peut être obtenue en exécutant la commande help.

Tâches

1. Créez deux répertoires. Remplissez l'un d'eux avec plusieurs fichiers avec des extensions différentes. À l'aide du mot-clé for, écrivez un fichier bat qui transfère tous les fichiers avec l'extension spécifiée en paramètre d'un répertoire à un autre. Commenter les actions en utilisant rem

2. Créez un répertoire. Remplissez-le de plusieurs fichiers avec deux types d'extensions. À l'aide du mot-clé for, écrivez un fichier bat qui copie tous les fichiers d'un type d'un répertoire donné vers un fichier et le second vers un autre.

3. Créez un répertoire. Remplissez-le de plusieurs fichiers avec des extensions différentes. À l’aide du mot-clé for, écrivez un fichier bat qui supprime tous les fichiers portant l’extension .txt.

4. Créez un fichier batch qui effectue l'autorisation de l'utilisateur, affiche la date et l'heure du système à l'écran, détermine le nom du répertoire dans lequel se trouve le fichier batch à lancer, crée un nouveau fichier dans ce répertoire et redirige la sortie standard vers ce fichier, c'est-à-dire créer un fichier journal.

6. Créez un fichier batch qui effectue l'autorisation de l'utilisateur, affiche la date et l'heure du système à l'écran, crée un dossier avec un nom égal à la date actuelle, dans ce dossier créez un fichier avec un nom arbitraire (défini par l'utilisateur), afficher des nombres de 1 à 10.

    Étudiez la structure des fichiers batch.

    Mettez en œuvre les exemples décrits dans les lignes directrices.

    Obtenez un devoir de votre professeur et terminez-le.

    Préparez un rapport.

Exigences de déclaration

    Titre de page.

    Le but du travail et la tâche d'exécution du travail.

    Test de fichiers batch.

    Captures d'écran de l'exécution du fichier batch.

    Conclusions sur le travail.

Questions d'auto-test

    Définition du fichier batch.

    Objectif des fichiers batch.

    Création d'un fichier bat.

    Commandes de base.

Liste des sources utilisées

    [Ressource électronique] : Développement de fichiers batch. – http://www.oszone.net/2245

Les personnes qui connaissent le terme fichier batch savent que les fichiers BAT peuvent considérablement simplifier la vie et gagner du temps si vous savez comment les écrire et les utiliser correctement. Dans cet article, je vais expliquer comment créer des fichiers BAT et vous présenter les erreurs courantes qui se produisent généralement lors de leur écriture.

Créer un fichier BAT est très simple. Ouvrez simplement le Bloc-notes et enregistrez une feuille vierge avec l'extension .bat, en sélectionnant l'option Enregistrer sous... et en écrivant dans le champ Nom du fichier quelque chose se terminant par .bat, par exemple test.bat.
Spécifiez le type de fichier comme dans la capture d'écran ci-dessous - Tous les fichiers. Enregistrez et recevez un fichier BAT.

Vous pouvez modifier le fichier BAT dans le Bloc-notes ou dans tout autre éditeur de texte axé sur l'utilisation du code.

Passons maintenant directement aux informations pratiques. De nombreuses personnes sur Internet cherchent une réponse à la question : Comment gérer les espaces dans les fichiers BAT ? . Dans les chemins d'accès aux dossiers et fichiers exécutables, la présence d'un espace provoque une erreur. La réponse la plus courante est la suivante : placez le chemin entre guillemets. Et cette réponse n'est pas correcte. Il est vrai que certains mousseront à la bouche et prétendront que cela fonctionne. Deux pourquoi sont alors apparus : pourquoi ce n’est pas vrai et pourquoi certains le seront.

Sous Windows (ainsi que sous UNIX), les programmes installés sur le système sont enregistrés en conséquence par le système. Par conséquent, certains des programmes installés peuvent être lancés avec une simple commande à partir d'un fichier BAT ou depuis l'applet Exécuter du panneau Démarrer. Un de ces programmes est Firefox :

démarrer Firefox

Si après cette commande vous écrivez le chemin du fichier exécutable, alors ce qui suit se produit : le navigateur Firefox démarre et tente de traiter la requête, c'est-à-dire le fichier dont le chemin est spécifié. Autrement dit, si vous spécifiez les éléments suivants :

démarrer Firefox C:\Program Files\Mozilla Firefox\firefox.exe

Le navigateur s'ouvrira, peu importe ce qu'il dit après le démarrage de Firefox. C'est pourquoi certains camarades assureront que tout fonctionne à merveille. Cependant, si vous prenez un programme portable, la situation sera complètement différente. Prenons le client FTP Filezilla comme exemple. Puisque le système ne connaît pas le programme, la ligne ci-dessus

démarrer filezilla

ne fonctionnera pas. Pour exécuter un programme inconnu du système, vous devez en spécifier le chemin d'accès :

démarrer D:\FileZilla\FileZilla.exe

Noms longs dans les fichiers bat

Parlons maintenant des chemins et des espaces. La première façon d’éviter ce problème consiste à utiliser un nom court.

démarrez C:\Program Files\Sound Club\scw.exe

Dans l'exemple, il y a deux noms avec des espaces. Remplaçons-les par des courts. Les règles de création de noms courts sont les suivantes : le nom court utilise les six premiers caractères du nom, hors espaces, après le nom le numéro de série du dossier est indiqué à l'aide du symbole ~ . Étant donné que mes dossiers Program Files et Sound Club sont uniques, cela ressemblera à ceci :

Fichiers programme - Progra~1 Sound Club - SoundC~1 démarrer C:\Progra~1 \SoundC~1 \scw.exe

S'il y a deux dossiers à proximité, par exemple Sound Club et Sound Clown, alors en suivant les règles, dans l'exemple ci-dessus vous devrez spécifier SoundC~2, puisque dans ce cas Sound Club sera le deuxième nom (les noms sont comptés par ordre alphabétique commande).

Mais cette méthode n'est pas pratique car il faut indiquer des numéros de série. La situation avec les fichiers programme est plus ou moins normale. Peu de gens trouveront deux dossiers similaires sur le lecteur système. Mais si vous décidez d'installer plusieurs produits Mozilla sur votre ordinateur. Vous vous retrouverez avec plusieurs dossiers, par exemple :

Mozilla Firefox Mozilla Thunderbird Mozilla Sunbird

Les noms courts pour eux seront

Mozill~1 Mozill~2 Mozill~3

Imaginez maintenant que vous ayez écrit un fichier BAT mentionnant ces programmes. Si vous désinstallez Firefox, les entrées restantes ne fonctionneront plus, et si vous désinstallez Thunderbird, l'entrée pour Sunbird ne fonctionnera plus. Bref, la méthode des noms courts n’est pas notre voie.

Espaces et guillemets dans les fichiers bat

Les devis fonctionnent réellement, mais pas de la manière habituellement conseillée. Ce qui suit est généralement recommandé :

démarrez "C:\Program Files\Sound Club\scw.exe"

La commande ne fonctionnera donc pas, car si vous consultez l'aide correspondante (start /? ), alors dans l'aide, vous verrez ce qui suit :

START ["en-tête"] [commande/programme] [paramètres]

Comme vous pouvez le voir, le premier paramètre est le titre de la fenêtre et il est entre guillemets. Ce paramètre est facultatif, mais il est tout de même recommandé de le préciser() pour éviter les erreurs lors de l'exécution de la commande. Vous n’êtes pas obligé d’écrire quoi que ce soit entre guillemets. Cela se passera comme ceci :

démarrez "" "C:\Program Files\Sound Club\scw.exe"

L'option consistant à placer tous les noms avec des espaces séparément entre guillemets fonctionnera également :

démarrez C:\"Program Files"\"Sound Club"\scw.exe

Cependant, dans certains cas, aucune des solutions ci-dessus ne fonctionne. Dans de tels cas, je peux recommander d'utiliser la commande cd. Accédez à la partition système, puis utilisez cd dans le dossier Program Files et exécutez le programme (démarrer) :

%SystemDrive% cd \Program Files\Sound Club\ start scw.exe

Je pense que cette méthode fonctionnera partout. Maintenant, quelques points plus importants. Disons que vous avez créé un fichier batch qui lance trois programmes et que vous devez temporairement exclure le lancement de l'un des trois. Cela peut être fait en supprimant la ligne ou en la commentant. La première méthode est vandale, et la seconde, voir ci-dessous.

démarrer Firefox démarrer jetaudio rem démarrer le défraggler

Dans ce cas, le lancement du programme Defraggler.exe installé sur le système est désactivé. Commentez les lignes en spécifiant la commande rem au début de la ligne. Tous les fichiers BAT sont exécutés dans une fenêtre de console. Pour le faire disparaître une fois les commandes terminées, n'oubliez pas d'écrire la commande exit à la fin.

démarrer Firefox démarrer jetaudio rem démarrer le défragmenteur quitter

Lancer des applications à partir d'un fichier bat

Dans la première partie de l'article, j'ai parlé en termes généraux des fichiers BAT. Maintenant, il est devenu clair de quoi il s’agit et avec quoi on le mange. Dans la deuxième partie nous parlerons de choses plus spécifiques. Par exemple, comment utiliser un fichier BAT pour lancer plusieurs applications avec certains paramètres ou installer un programme automatiquement pour ne pas perdre de temps sur des réponses comme Acceptez-vous les termes du contrat de licence ? et n'appuyez pas sur des boutons inutiles.

Plusieurs façons de lancer des applications à l'aide d'un fichier BAT ont été décrites ci-dessus. La toute première est une courte commande permettant de lancer le programme installé sur le système.

démarrer Firefox

Cela ne fonctionne pas toujours. Par conséquent, cette technique peut être pleinement appliquée à un système spécifique, mais elle ne constitue pas une solution universelle. Si votre objectif est de faire fonctionner le fichier BAT partout et toujours, vous devez utiliser des chemins complets :

démarrez C:\"Program Files"\"Mozilla Firefox"\firefox.exe

J'ai aussi noté que le fichier BAT doit contenir une commande à compléter :

démarrer C:\"Program Files"\"Mozilla Firefox"\firefox.exe quitter

Exécuter des programmes dans des fichiers bat avec des paramètres (clés)

Vous pouvez non seulement exécuter le programme, mais également lui donner des commandes supplémentaires lors de son démarrage. Par exemple, commande à exécuter réduite :

démarrer /min D:\FileZilla\FileZilla.exe quitter

Commander dans ce cas signifie indiquer la clé. La clé est indiquée par une barre oblique après la commande principale (commande/touche). La commande principale dans ce cas est start . Certes, la touche min ne fonctionne que dans la moitié des cas, car elle concerne spécifiquement la commande start, et non les programmes que cette commande lance.

En général, il existe de nombreuses clés et les jeux de clés pour différents programmes peuvent varier considérablement. Il en existe cependant quelques-uns courants. Par exemple, la touche d'aide (/? ou /help). Pour voir comment fonctionne cette clé, regardons un exemple pratique. Ouvrez la console (cliquez sur + R , entrez cmd , puis Enter ) et tapez ce qui suit dans la console :

commencer /?

La console affichera une liste de clés valides avec des commentaires pour la commande de démarrage.

Faites attention au commutateur /wait. Dans certains cas, c’est tout simplement irremplaçable. Par exemple, vous avez décidé d'utiliser un fichier BAT pour décompresser l'archive avec le programme et exécuter ce même programme. Le fichier batch contiendra deux commandes - pour le déballage et pour le lancement. Étant donné que les commandes seront exécutées presque simultanément lors de l'exécution du fichier BAT, l'archive n'aura pas le temps de se décompresser et il n'y aura rien à exécuter. Il y aura donc une erreur. Dans ce cas, la clé viendra à la rescousse /attendez:

Ainsi, le système effectuera d'abord la première action, attendra qu'elle se termine, puis passera ensuite à la seconde. Si vous devez attendre une période de temps spécifique, il est plus facile d'utiliser un utilitaire de console. Au bon endroit dans le fichier BAT, écrivez la commande suivante (le nombre est le nombre de secondes) :

démarrer Sleep.exe 15

Vous pouvez faire beaucoup de choses avec les clés. Il est possible d'installer des applications. Pour ce faire, plusieurs touches sont utilisées selon le type d'installateur utilisé pour installer le programme sur l'ordinateur :

/S /s /q /silent et plusieurs autres

Dans certains cas, cela peut être très pratique. L'antivirus Avast dispose d'une option d'installation silencieuse dans la version entreprise. La version gratuite (à domicile) n'a soi-disant pas d'installation silencieuse. Cependant, si vous savez comment fonctionne le programme d'installation d'InstallShield, vous comprendrez qu'il s'agit d'un canard, puisque ce programme d'installation lui-même prend en charge le commutateur d'installation silencieuse /S. Cela signifie que tous les produits fabriqués sur cette base font de même. Et Avast ne fait pas exception. Créez simplement un fichier avec le contenu du dossier avec le BAT d'Avast

démarrer avast.exe /S quitter

vous le lancez et le programme est installé sur votre ordinateur sans pratiquement aucune intervention de votre part. De cette façon, vous pouvez rédiger toute une liste de programmes pour une installation silencieuse et gagner du temps, par exemple lors de la réinstallation du système. Dans l'article, vous pouvez obtenir des informations plus détaillées sur les clés.

Il existe d'autres options pour gérer les programmes utilisant des fichiers BAT. Vous pouvez démarrer un programme en lui disant d'ouvrir un fichier au démarrage. J'utilise cette méthode lors du développement de sites Web. C'est très pratique lorsque l'ensemble de votre boîte à outils ouvre les documents et dossiers nécessaires en un seul clic :

connexion rem au serveur FTP démarrer /min D:\FileZilla\FileZilla.exe "ftp://login:password@server" rem ouvrant index.php dans Firefox démarrez C:\"program files"\"mozilla firefox"\firefox.exe "http://localhost/site_folder/index.php" rem ouvrant start.html dans un éditeur de texte démarrer /min C:\"Program Files"\text_editor.exe "E:\server\site_folder\index.html" rem ouvrant le dossier avec les fichiers du site démarrer /min E:\server\site_folder sortie de la console rem sortie

Je note que toutes les techniques décrites ci-dessus peuvent être utilisées dans diverses combinaisons et combinaisons.

start /min /wait program.exe /m /S start C:\Directory\program2.exe "C:\Files\file.odt" exit

Mais il est important de se rappeler : tout ce qui concerne l'exécution du programme lancé dans le fichier batch est écrit avec celui-ci sur la même ligne.

démarrez C:\"program files"\"mozilla firefox"\firefox.exe "http://localhost/site_folder/index.php"

En épilogue, je vous proposerai le convertisseur de fichiers BAT en applications au format .exe - . Un fichier BAT n'est pas toujours esthétique, mais avec l'aide d'un convertisseur, vous pouvez regrouper un fichier batch dans un fichier exe, en le décorant avec n'importe quelle icône de votre choix.

Je suis tombé sur un autre convertisseur BAT vers EXE, vous pouvez le considérer comme une alternative au programme précédent : Advanced Bat To Exe Converter