0.00 (1 )
Approche générale.
Les fichiers de commande sont fichiers texte Avec extension chauve souris.ou alors cmd.dont les lignes représentent des commandes ou des noms de fichiers exécutables. Lorsque vous exécutez pour exécuter un fichier de commande, le contrôle reçoit le processeur de commande du système d'exploitation (souvent appelé interprète de commande), qui lit et interprète séquentiellement les chaînes de fichiers de commande. Pour Windows9x le fait command.com., pour Winnt / 2K / XP - cmd.exe.. Les chaînes de fichiers de commande peuvent contenir des commandes des commandes elles-mêmes (pour, goto, si, etc.) ou les noms des modules exécutables (NET.EXE, REDEDIT.EXE, WIN.COM, etc.). Dans les systèmes d'exploitation WINNT / 2K / XP, vous pouvez obtenir un bref certificat de formulation de commande à l'aide de la ligne de commande:
ou sur une équipe spécifique:
Aide Nom de l'équipe
Pour émettre le texte de l'aide ne figure pas à l'écran, mais pour le fichier, vous pouvez utiliser redirection de la sortie . Lorsque vous utilisez la ligne de commande, le périphérique d'entrée standard est le clavier et le périphérique d'affichage - l'affichage, mais ces périphériques peuvent être réaffectés à l'aide de symboles de redirection.
< - Rediriger l'entrée
> - Redirection de sortie (ou \u003e\u003e - Redirection à un fichier existant, lorsque les données de sortie sont ajoutées à la fin du fichier.)
Pour émettre le flux de données de commande
Aider. Pour le fichier help.txt, la ligne de commande sera la suivante:Aide\u003e help.txt
Pour afficher le certificat hoto au fichier goto.txt:
Aide goto\u003e goto.txt
Utilisation de variables d'environnement.
Dans les fichiers de commande, vous pouvez, souvent, et vous devez utiliser environnement variable - Variables dont les valeurs caractérisent l'environnement dans lequel une commande ou un fichier de commandes est effectuée. Les valeurs des variables d'environnement sont formées lorsque le système d'exploitation est chargé et enregistrant l'utilisateur dans le système et peut également être spécifié à l'aide de la commande.ENSEMBLE. Dont le format est:
Définir [variable \u003d [ligne]]
variable Nom de l'environnement variable.
ligne La chaîne de caractères attribuée à la variable spécifiée.
Par exemple, la ligne de commande
Mettre mynane \u003d vasya
ajoutez une variable myName acceptant la valeur VASYA.
Vous pouvez obtenir la valeur d'une variable dans les programmes et les fichiers de commande à l'aide de son nom joint en pourcentage de signes ( %) . Par exemple, l'équipe
retirera le texte, et l'équipe
affiche la valeur de la variable temporelle prenant la valeur de l'heure actuelle.
Et la ligne de commande
Définir le chemin \u003d C: myProg;% chemin%%
ajouter aux programmes exécutables de la trajectoire de recherche décrites par la valeur du catalogue variable de chemin C: MyProg
L'exécution de la commande définie sans paramètres entraîne la délivrance des valeurs variables actuelles à l'écran, sous la forme:
Number_of_processors \u003d 1 - Nombre de processeurs
OS \u003d Type Windows_NT-OS
Chemin \u003d E: WindowsSystem32; E: Windows; E: Programme FilesFar - Chemin de recherche Fichiers exécutables.
Pathext \u003d .com; .exe; .bat; .cmd; .vbs; .vbe; .js; .jsf; .wsf; .wsh - extensions pour les fichiers exécutables.
Processor_architecture \u003d x86 - Architecture du processeur.
Processor_Identififier \u003d x86 Famille 6 Modèle 8 Étape 1, authenticamd - ID CPU.
Processor_level \u003d 6 - Niveau de niveau (numéro de modèle) processeur.
Processor_Revision \u003d 0801 - Version du processeur.
Programmes \u003d E: Fichiers du programme - chemin du dossier "Fichiers du programme"
Invitation \u003d $ P $ G - Format d'invitation de ligne de commande $ P - chemin pour le catalogue en cours $ G - Signer "\u003e".
SystemDrive \u003d E: - lettre du disque système.
Systemroot \u003d E: Windows est un répertoire Windows.
La valeur de certaines variables de commande définies ne sont pas émises. Ce sont des variables dont les valeurs sont modifiées de manière dynamique:
% CD% - Prise la valeur de la chaîne de répertoire actuelle.
% Date% - prend la valeur de la date actuelle.
% Time% - prend la valeur de l'heure actuelle.
%% De% aléatoire - prend la valeur d'une décimale aléatoire dans la plage de 1 -32767.
% ErrorLel%% - Accepte la valeur actuelle du code d'achèvement de la limite
% CmDextversion% - prend la valeur de la version du processeur de commande CMD.EXE pour le traitement de la commande avancée.
% Cmdcmdline% - prend la valeur de la chaîne qui a provoqué le processeur de commande.
Pour afficher la valeur de la variable, vous pouvez utiliser l'invite de commande:
Echo% variable%%
Paramètres d'entrée pour le fichier de commande.
Il est possible d'envoyer le fichier de commande de paramètres de ligne de commande et d'utiliser leurs valeurs dans les opérateurs de fichiers de commande.
Fichier BAT.< параметр1 > , < параметр2 >, ... < параметрN >
Très fichier de commande. Le premier paramètre sera disponible en tant que variable. %1 deuxième - %2 etc. Le nom du fichier de commande est disponible en tant que variable. %0 . Par exemple, créez un fichier de commande, dont la tâche sera émise aux valeurs des paramètres entrés. Habituellement, une commande est utilisée pour produire du texte.
Écho.< текст >
Toutefois, si le texte est remplacé par% 1, le premier paramètre sera émis, en% 2 - la seconde, etc.
Créez un fichier parm.bat comme suit:
echo premier paramètre \u003d% 1
echo deuxième paramètre \u003d% 2
eCHO troisième paramètre \u003d% 3
et le lancer pour exécuter la commande suivante:
parm.bat premier seconde "deux mots"
après son exécution, vous comprendrez comment cela fonctionne et ces paramètres avec des espaces, vous devez entrer dans des guillemets doubles. Pour que la chaîne soit traitée par le processeur de commande, il est possible d'utiliser la commande.
Écho offEn le plaçant dans la première ligne du fichier de commande. Pour que la ligne de fichier de commande soit ignorée par le processeur de commande, placez-la au début. Rem.< пробел > . Ainsi, vous pouvez mettre des commentaires, utilisez souvent dans les fichiers de commande importants:rEM Echo Off désactive le mode de sortie de la ligne de journalisation du fichier de commande à l'écran.
REM affichera uniquement le résultat de leur exécution.
echo premier paramètre \u003d% 1
echo deuxième paramètre \u003d% 2
eCHO troisième paramètre \u003d% 3
Essayez Echo pour remplacer @echo Off - le résultat parle de lui-même. La chaîne qui désactive le mode de sortie, arrêté la sortie sur l'écran.
Transitions et balises.
Dans les fichiers de commande, vous pouvez utiliser les commandes de transition conventionnelles qui modifient la logique de leur travail en fonction de l'exécution de certaines conditions. Pour illustrer l'utilisation de transitions conditionnelles, créez un fichier de commande, qui sera attribué une lettre de lecteur prédéterminée pour un support amovible, qui utilisera des lecteurs flash. Les conditions sont comme - il y a 2 lecteurs flash, dont l'un doit être visible dans le conducteur sous forme de disque X: et le second - comme un lecteur Y: Peu importe ce que port USB Ils sont connectés. Nous supposons que les vrais disques peuvent être connectés comme F: ou G: si une reconnaissance de fichier sera effectuée par le fichier avec un nom spécifique (il est préférable de faire un tel fichier masqué dans le répertoire racine et de l'appeler en quelque sorte inhabituel):
Flashd1.let - sur le premier disque
Flashd2.let - sur la seconde
Ceux. La tâche du fichier de commande est de vérifier disques remplaçables F: et G: Des dossiers Flashd1.let. ou alors Flashd2.let. et, selon lequel on est présent, attribuez la lettre à la lettre X: ou alors Y:
Pour rechercher un fichier sur le disque, nous utilisons la commande
Si exister.:Si existe une équipe de nom de fichier
En tant qu'équipe plus facile à profiterSTI.qui correspond au nom du disque et du répertoire.
STI X: C: - crée un disque virtuel X: dont le contenu sera le répertoire racine du disque C:
Créez un fichier de commande SETXY.BAT avec les lignes suivantes:
Après avoir exécuté un tel fichier, vous apparaîtrez X: et Y roues: mais si ce fichier est réutilisé, la commande Substitis affichera un message d'erreur - car X: et Y Disques: existence déjà.
Il est conseillé de contourner l'exécution de SST si des disques virtuels X: et Y: déjà créés (ou les supprimez-les à l'aide du paramètre SST avec le paramètre -D avant de vous connecter). Nous modifions le fichier de commande en utilisantAller à. - Transfert du contrôle de la chaîne de fichier de lots par l'étiquette.
Goto tag
L'étiquette doit être dans une ligne séparée et commencer par un côlon. Apportez des modifications dans notre fichier de commande afin que les messages d'erreur ne se posent pas:
REM S'il n'y a pas de x: - Ainsi, nous nous tournons vers la marque SETX
Sinon exist x: goto sertix
REM S'il y a x: - Allumons-nous pour vérifier la présence de Y:
Si Existe G: flashd1.let STI X: G:
Si exige f: flashd1.let SST X: F:
REM Si Y: Existe - Terminez le fichier de commande.
Si Existe Y: GOTO SORTIE
Si existe g: flashd2.Le sous Y: G:
Si exige f: flashd2.Le sous Y: F: F:
Demier la commande de sortie REM
Message d'erreur a disparu. Signes d'erreurs Lorsque des commandes d'exécution peuvent être surveillées et dans le fichier de commande lui-même, analysez la variableErrorLevel., dont la valeur est formée lors de la plupart des programmes. ErrorLEVEL est 0 si le programme s'est terminé sans erreur et 1 - lorsqu'une erreur se produit. Il peut y avoir d'autres valeurs si elles sont fournies dans le programme étant exécutée.
Un fichier de commande peut également être utilisé comme commande dans la ligne de fichier de commande. De plus, une commande est utilisée pour transmettre avec revenir au point de retour du fichier de commande appelant.Appel . Créez un fichier de commande test.bat suivant:
Echo appelle 1.bat.
Écho retour.
Et fichier 1.bat contenant la commandePausesuspension du fichier de commande avant d'appuyer sur une touche.
Lors de l'exécution du test.bat sera émis sur le message
Challenge 1.bat.
et le contrôle recevra 1.bat avec l'équipe de pause. Après avoir démarré la touche du clavier, le contrôle recevra la ligne de commande "Retour d'écho". et l'écran sera émis
Si dans Test.Bat, supprimer l'appel, revenir à partir du fichier 1.bat ne sera pas exécuté. Au fait, en utilisant la transmission de la gestion de fichier de commande, vous pouvez organiser sa boucle. Essayez d'ajouter à la fin de la ligne de fichier test.bat:
Vous pouvez sortir du tableau de bord du fichier de commande en appuyant sur la combinaison Ctrl-break. Il est possible d'utiliser la commande d'appel pour appeler la procédure dans le fichier de commande. Dans ce cas, pas le nom comme un argument fichier externe.et étiquette:
....
Call: proc1
....
: Proc1
....
SORTIR.
....
Créer des fichiers.
Dans Windows, il n'y a pas de commande spéciale pour créer un fichier, mais sans cela, vous pouvez facilement faire de plusieurs manières:
Copier de la console au fichier
Copier con myfile.txt
Lors de l'exécution de cette commande, les données du clavier (conductrice) seront entrées dans le fichier myFile.txt. En appuyant sur la touche F6 ou la combinaison CTRL-Z complétera la sortie.
Redirection de la sortie
Echo 1\u003e myfile.txt
Lors de l'exécution de cette commande, le fichier myFile.txt contenant le caractère "1" sera créé.
Combinaison de redirection d'entrée et de sortie:
Copier con\u003e myfile.txt< xyz
Lors de l'exécution de cette commande, comme dans le premier cas, la copie de la console au fichier est utilisée, mais au lieu de données du clavier, une entrée d'un périphérique XYZ inexistant est utilisée. Le système donnera un message qu'un tel périphérique n'existe pas, mais le fichier myfile.txt vide sera créé avec succès.
Une option complètement simple - copier à partir d'un appareil fictif nommé nul. déposer.
Copier nul myfile.txt
Si vous devez souvent créer des fichiers vides, vous pouvez préparer votre fichier d'équipe (par exemple - NEWFILE.BAT ou, même mieux, - NF.BAT) et le nom du fichier créé pour la transmettre en tant que paramètre lors du démarrage.
Contenu du fichier:
Placez ce fichier de commande dans le répertoire système (C: WindowsSystem32 ou tout autre disponible sur le chemin spécifié par chemin).
Ligne de commande:
newfile.bat myfile.txt
Ou alors
nf.bat myfile.txt
Ou alors
nf myfile.txt
Voici l'équipe nf. pour créer fichier vide. dans ligne de commande.
Affectation d'un disque amovible de la même lettre.
La tâche est de amovible Disque USB (Le disque flash) était toujours disponible dans la même lettre, quel que soit votre ordinateur utilisé et comment il est connecté. Pour résoudre ce problème, nous utiliserons le substituant mentionné ci-dessus. Sélectionnez la lettre souhaitée pour un disque amovible, par exemple - X. Le nom du disque à partir duquel le fichier de commande est exécuté est disponible en tant que variable% ~ D0. Créez le fichier de commande de contenu suivant: @Écho off
STI X:% ~ d0
Que signifie-t-il - créer un disque virtuel x:, qui est comparé disque physiqueÀ partir duquel le fichier de commande est lancé.
Une idée supplémentaire des valeurs génériques de la variable% 0 peut être obtenue à partir du contenu suivant du contenu suivant:
@Écho off
ECHO est le fichier traité -% 0
ECHO DATE / Création / Changement de fichier de commande -% ~ t0
Chemin de fichier de commande ECHO - "% ~ f0"
Disque de fichier de commande ECHO -% ~ D0
Catalogue de fichiers de commande ECHO - "% ~ p0"
Nom du fichier de commande ECHO -% ~ N0
Extension de fichier de commande écho -% ~ x0
Écho Nom et expansion -% ~ S0
Attributs d'écho du fichier de commande -% ~ A0
Taille du fichier de commande d'écho -% ~ z0
Créer des générations d'archives par dates et temps.
Spécifiez la tâche suivante - Vous devez créer des fichiers de fichiers dans le répertoire C: Program FilesFar. Le nom du fichier d'archive doit comprendre l'heure actuelle (horloge. Minutes. Forcons - cc.mms.rar), et il doit être placé dans un nouveau catalogue, dont le nom doit comprendre la date actuelle (jour. Facile, DD .Mm. Yyyg). Pour l'archivage, nous utiliserons l'archiveur RAR. Format de démarrage pour créer une archive:
Rar a -r.< путь и имя архива > < Путь и имя архивируемых данных >
uNE.- Commande de création d'archives.
-R. - une clé qui définit l'archivage des sous-répertoires (car dans le dossier source, il existe des sous-répertoires).
Ainsi, pour résoudre le problème, vous devez bien créer des noms et des chemins pour RAR. Pour lequel nous utilisons les facteurs suivants:
La date obtenue de la variable% Date% paramètres standard Les paramètres régionaux ressemblent à ceci: Ensemble VDate \u003d% Date: ~ 3% Créez un catalogue sur un disque C: un, dont le nom \u003d date actuelle de VDate variable: MD C: \\% VDate%% Le temps obtenu à partir de la variable% temps%: Commencez l'archiveur: Vous pouvez maintenant créer un fichier de commande avec contenu: Ensemble VDate \u003d% Date: ~ 3% Un tel fichier de commande peut être effectué via AutoLoad ou dans le cadre du script, lorsque l'utilisateur est connecté à un domaine ou à l'aide du planificateur à une heure spécifiée, et vous serez toujours disponible en présence de critiques. Archives de données.
Ce fichier de commande crée les archives de contenu du dossier "My Documents" des utilisateurs WIN2K / XP, les plaçant dans des annuaires |
Parfois, vous devez former variable date et heure dans cmd / bat. Scripts les fenêtresainsi, comme nous avons besoin, non pas comme le système d'exploitation nous donne.
Par exemple, pour ajouter ces données au fichier journal, pour corriger la date d'heure ou de l'événement, créez un fichier avec un nom dans lequel les données de données ou de temps doivent apparaître (jour, mois, année, heure, minutes, skunders, millisecondes. ) Fait, peu, quelles sont nos tâches ... Nous connectons notre fantasme :)
Dans l'exemple suivant, nous voyons le fractionnement des variables par les modèles dont nous avons besoin.
eu 2 signes (c'est-à-dire une heure, une heure sera émise dans formulaire suivant - 01, 02, ..., 09, ... , 12, ... 24)
m - minutes 2 signes
s - secondes 2 signes
mS - Milliseconds 2 signes, pour une raison quelconque de 0 à 99
signe DD - Jour 2
mM - Mois 2 signe
yyyy - Année 4 signe
Exemple d'utilisation de variables % Date% et % Temps% dans les scripts cmd. / chauve souris. Les fenêtres:
@Écho off
Ensemble H \u003d% heure: ~ 0.2%
Ensemble m \u003d% heure: ~ 3,2%
Set S \u003d% heure: ~ 6,2%
Définir ms \u003d% heure: ~ 9,2%
Set Curtime \u003d% h%:% m%:% S%:% ms%
Ensemble DD \u003d% Date: ~ 0.2%
Ensemble mm \u003d% Date: ~ 3,2%
Ensemble aaaa \u003d% Date: ~ 6.4%
Set Curdate \u003d% DD% -% mm% -% yyyy%
Set CurdateTime \u003d% Curdate% Curime%%%
Écho heure actuelle -% curdateTime%%
Dans certaines versions Format Windows La date et l'heure sont différentes, ce script peut donc fonctionner aussi bien que nécessaire.
En théorie, méthode similaire Vous pouvez prendre des parties de toutes les variables, le fait que le format est ici tel:
Le premier chiffre après: ~ est le numéro de caractère à partir duquel nous commençons à prendre la valeur, le deuxième numéro correspond au nombre de caractères capturant.
Ainsi, il s'avère que nous pouvons prendre n'importe quelle pièce à nos besoins, toute variable de Windows à la disposition de nous.
Je connais les variables suivantes dont nous pouvons obtenir:
AlluSersProfile. | Renvoie le placement du profil "Tous les utilisateurs". |
DONNÉES D'APPLICATION | Renvoie le placement par défaut des données d'applications. |
CD | Spécifie le chemin du dossier actuel. Équipe CD d'identité sans arguments. |
Cmdcmdline | la commande exacte utilisée pour démarrer la cmd.exe actuelle. |
Cmdexverion. | la version des extensions de processeur de commandement en cours. |
Communprogramfiles. | Lieu de répertoire de fichiers communs (généralement% programmatiques% \\ Fichiers communs) |
Nom de l'ordinateur. | nom de l'ordinateur |
Comspec. | manière d'exécuter le fichier shell |
Date. | Retourne la date actuelle. Utilise le même format que la commande date / t. Créé par une commande cmd.exe. |
ErrorLevel. | Renvoie le code d'erreur de la dernière commande utilisée. Une valeur qui n'est pas égale à zéro indique généralement une erreur. |
HomeDrive. | Retourne le nom du disque local poste de travailassocié au répertoire utilisateur de base. Défini sur la base de l'emplacement du répertoire principal. Le répertoire principal de l'utilisateur est indiqué dans le Snap " Utilisateurs locaux et groupe. |
Homepath | Renvoie le chemin complet du répertoire utilisateur de base. Défini sur la base de l'emplacement du répertoire principal. Le répertoire principal principal est spécifié dans le snap (Utilisateurs locaux et groupe ». |
Homeshare. | Renvoie le chemin réseau sur le répertoire d'utilisateur de base commun. Défini sur la base de l'emplacement du répertoire principal. Le répertoire principal principal est spécifié dans le snap (Utilisateurs locaux et groupe ». |
Logonserver. | le nom du contrôleur de domaine utilisé pour l'autorisation utilisateur actuel |
Number_of_processeurs. | nombre de processeurs dans le système |
OS. | nom du système d'exploitation. Windows XP et Windows 2000 sont affichés sous la forme Windows_NT. |
Chemin. | Spécifie le chemin de recherche pour les fichiers exécutables. |
Pathext. | Renvoie une liste des extensions de fichier considérées système opérateur Comme effectué. |
Processor_architecture. | architecture du processeur |
Processor_Identifier | description du processeur |
Processor_level. | numéro de modèle de processeur |
Processor_Revision. | révision du processeur |
Fichiers de programme. | chemin du dossier des fichiers de programme |
Rapide. | Retourne les paramètres de ligne de commande pour l'interprète actuel. Créé par une commande cmd.exe. |
Aléatoire | nombre décimal aléatoire de 0 à 32767. CMD.EXE est généré |
SessionName. | Type de session. La valeur par défaut "console" |
SystemDrive. | le disque sur lequel se trouve le dossier Windows Root. |
Systemroot. | chemin vers le dossier racine de Windows |
TEMP ou TMP. | Retourne les dossiers temporaires, les valeurs par défaut utilisées par les applications disponibles pour les utilisateurs rencontrés dans le système. Certaines applications nécessitent une variable TEMP, d'autres - la variable TMP. Potentiellement, TEMP et TMP peuvent indiquer différents répertoires, mais coïncident généralement. |
Temps. | Retourne l'heure actuelle. Utilise le même format que la commande Time / T. Créé par une commande cmd.exe. |
Userdomain | nom de domaine à laquelle l'utilisateur actuel appartient |
Nom d'utilisateur. | nom de l'utilisateur actuel |
Profil de l'utilisateur | chemin vers le profil de l'utilisateur actuel |
Windir. | répertoire dans lequel Windows installée |
Dans les fichiers de commande, vous pouvez travailler avec les différentes variables (ou les variables environnementales), chacune étant stockée dans mémoire viveA son propre nom unique et sa valeur est une chaîne. Les variables d'environnement standard sont automatiquement initialisées lors du processus de démarrage du système d'exploitation. Ces variables sont, par exemple, Windir, qui détermine l'emplacement du répertoire Windows, Temp, qui détermine le chemin d'accès au répertoire pour stocker le temporaire fichiers Windows ou chemin dans lequel le chemin système est stocké (chemin de recherche), c'est-à-dire une liste de répertoires dans lesquels le système doit rechercher des fichiers exécutables ou des fichiers accès articulaire (Par exemple, des bibliothèques dynamiques). De plus, dans les fichiers de commande à l'aide de la commande SET, vous pouvez déclarer vos propres variables d'environnement.
Obtenir la valeur de la variable
Pour obtenir la valeur d'une variable d'environnement spécifique, vous avez besoin du nom de cette variable pour entrer dans des caractères%. Par example:
@Echo Off CLS REM Création d'une variable MyVar Set Myvar \u003d HI Change REM Variable Set MyVar \u003d% myvar%! ECHO VALEUR VARIABLE VARIABLE MYVAR:% MYVAR% REMPLEME DE LA VARIABLE MYVAR SET MYVAR \u003d ECHO Valeur variable Windir:% Windir%
Lorsque vous démarrez un tel fichier de commande, une chaîne sera affichée.
La valeur de la variable myvar: Bonjour! Valeur variable Windir: c: \\ Windows
Conversion de variables comme chaînes
Avec des supports variables dans les fichiers de commande, certaines manipulations peuvent être effectuées. Premièrement, vous pouvez faire une opération de concaténation (collage). Pour ce faire, vous devez simplement écrire un certain nombre de variables connectées dans la commande définie. Par example,
Définir a \u003d temps défini b \u003d deux ensemble C \u003d% A %% B%
Après avoir exécuté ces commandes dans le fichier, la valeur de la variable C sera la chaîne "Split". Il n'est pas nécessaire d'utiliser un signe + pour la concaténation, car il sera perçu simplement comme un symbole. Par exemple, après avoir exécuté le fichier suivant
Définir A \u003d Times Set B \u003d Deux Set C \u003d A + B ECHO Variable C \u003d% C% SET D \u003d% A% A% +% B% écho variable D \u003d% D%
deux lignes seront affichées à l'écran:
Variable c \u003d a + b variable d \u003d fois + deux
Deuxièmement, à partir de la variable d'environnement, vous pouvez allouer des sous-chaînes à l'aide de la conception. % nom_name: ~ N1, N2%où le nombre n1 détermine le décalage (nombre de caractères bandés) du début (si N1 positivement) ou à la fin (si N1 est négatif), le milieu variable correspondant, et le nombre N2 est le nombre de caractères alloué (si N2 positivement ) Ou le nombre de derniers caractères dans une variable, qui n'entre pas la sous-chaîne sécrétée (si N2 est négative). Si un seul paramètre négatif est spécifié, les derniers caractères N seront récupérés. Par exemple, si la variable de dates de% est stockée dans la chaîne "21.09.2007" (la présentation symbolique de la date actuelle à certains paramètres régionaux), une fois que les commandes suivantes sont effectuées
Ensemble DD1 \u003d% Date: ~ 0.2% Ensemble DD2 \u003d% Date: ~ 0, -8% Set MM \u003d% Date: ~ -7,2% Set AAAAYY \u003d% Date: ~ -4%
de telles variables auront de telles valeurs: % DD1% \u003d 21,% DD2% \u003d 21,% mm% \u003d 09,% yyyy% \u003d 2007.
Troisièmement, vous pouvez effectuer une procédure de substitution avec une conception % _Name_Name: S1 \u003d S2% (En conséquence, une chaîne sera renvoyée dans laquelle chaque entrée de la sous-chaîne S1 dans la variable d'environnement correspondante est remplacée par S2). Par exemple, après exécution de commandes
Set A \u003d 123456 Ensemble B \u003d% A: 23 \u003d 99%
dans la variable B, une chaîne "199456" sera conservée. Si le paramètre S2 n'est pas spécifié, la substitution S1 sera supprimée de la chaîne de sortie, c'est-à-dire Après avoir exécuté l'équipe
SET A \u003d 123456 SET B \u003d% A: 23 \u003d%
la variable B stockera "1456".
Transactions avec des variables comme avec des chiffres
Lorsque le traitement de la commande avancée est activé (ce mode de Windows XP est utilisé par défaut) Il est possible de prendre en compte les valeurs des variables d'environnement en tant que numéro et produisent des calculs arithmétiques avec eux. Pour ce faire, utilisez la commande définie avec la touche / A. Donnons un exemple du fichier de commandes add.bat qui plie les deux numéros spécifiés sous forme de paramètres de ligne de commande et de la valeur de sortie à l'écran:
@Echo Off Rem dans une variable m sera stocké MONTRE SET / A M \u003d% 1 +% 2 ECHO SUM% 1 et% 2 égal à% M% REM Retirez la variable M Set M \u003d
Modifications locales de variables
Toutes les modifications apportées à l'aide de la commande définie sur les variables d'environnement dans le fichier de commande sont enregistrées et après avoir terminé ce fichier, mais valide uniquement dans la fenêtre de commande actuelle. Il est également possible de localiser les modifications des variables d'environnement à l'intérieur du fichier de commandes, c'est-à-dire rétablir automatiquement les valeurs de toutes variables comme dans lesquelles ils étaient avant de commencer le lancement de ce fichier. Pour cela, deux commandes sont utilisées: SetLocal et Endlocal. La commande SetLocal définit le début de la région installations locales Variables d'environnement. En d'autres termes, les modifications apportées dans l'environnement déposées après que la SetLocal sera locale sur le fichier de commandes actuel. Chaque commande setLocal doit avoir la commande endlocale appropriée pour restaurer les valeurs précédentes des variables d'environnement. Les modifications moyennes effectuées après avoir exécuté la commande endlocale ne sont plus locales sur le fichier de commandes actuel; Leurs anciennes valeurs ne seront pas restaurées à la fin de ce fichier.
Mercredi shell de commandes CMD.EXE est déterminé par des variables qui définissent le comportement du shell de commande et du système d'exploitation.
Il est possible de déterminer le comportement de l'environnement de la commande ou de l'environnement de l'ensemble du système d'exploitation en utilisant deux types de variables d'environnement: système et local.
Les variables système sont déterminées par le comportement de l'environnement du système d'exploitation global et les variables d'environnement locales déterminent le comportement de l'environnement dans cette instance CMD.EXE.
Les variables système sont définies sur la prospection dans le système d'exploitation et sont disponibles pour tous les processus Windows et les utilisateurs disposant de privilèges d'administrateur peuvent modifier ces variables. Ces variables sont les plus couramment utilisées dans les scénarios de connexion.
Des variables d'environnement locales sont disponibles lorsque l'utilisateur pour lequel ils ont été créés sont entrés dans le système. Variables locales du registre Bush HKEY_CURRENT_USER. Convient uniquement pour l'utilisateur actuel, mais déterminer le comportement de l'environnement mondial du système d'exploitation.
Liste des types de variables dans l'ordre décroissant de la priorité.
- Variables du système intégrées
- Bush-buisson de la variable système HKEY_LOCAL_MACHINE
- Bush-buisson de la variable locale HKEY_CURRENT_USER.
- Toutes les variables et chemins d'environnement sont répertoriés dans le fichier. Autoexec.bat.
- Toutes les variables et chemins d'environnement sont spécifiés dans le scénario de connexion (si disponible).
- Variables utilisées de manière interactive dans le script ou fichier batch
Dans le shell de commande, chaque copie du CMD.exe hérite du mercredi de son application parentale et, en conséquence, vous pouvez modifier des variables dans le nouvel environnement CMD.EXE, qui n'affectera pas le support de l'application parent.
Voici une liste de variables d'environnement système et locales pour Windows XP.
Variable |
La description |
|
---|---|---|
% Allusersprofile%% |
Local |
Renvoie le placement du profil "Tous les utilisateurs". |
Local |
Renvoie le placement par défaut des données d'applications. |
|
Local |
Renvoie le chemin du dossier actuel. |
|
Local |
Renvoie la chaîne de commande par laquelle l'instance CMD.EXE a été lancée. |
|
Systémique |
Renvoie le numéro de version des extensions de gestionnaire de commandes en cours. |
|
Systémique |
Renvoie le nom de l'ordinateur. |
|
Systémique |
Renvoie le chemin d'accès à la coque de la commande exécutable. |
|
Systémique |
Renvoie les données actuelles. Utilise le même format que l'équipe date / T.. Créé par une commande cmd.exe. |
|
Systémique |
Renvoie le code d'erreur de la dernière commande utilisée. Une valeur qui n'est pas égale à zéro indique généralement une erreur. |
|
Systémique |
Renvoie le nom du disque d'une station de travail locale associée au répertoire utilisateur de base. Défini sur la base de l'emplacement du répertoire principal. Le répertoire principal principal est spécifié dans le snap (Utilisateurs locaux et groupe ». |
|
Systémique |
Renvoie le chemin complet du répertoire utilisateur de base. Défini sur la base de l'emplacement du répertoire principal. Le répertoire principal principal est spécifié dans le snap (Utilisateurs locaux et groupe ». |
|
Systémique |
Renvoie le chemin réseau sur le répertoire d'utilisateur de base commun. Défini sur la base de l'emplacement du répertoire principal. Le répertoire principal principal est spécifié dans le snap (Utilisateurs locaux et groupe ». |
|
Local |
Renvoie le nom du contrôleur de domaine, qui a vérifié l'authenticité de la session en cours. |
|
% Numéro_of_processeurs% |
Systémique |
Définit le nombre de processeurs installés sur l'ordinateur. |
Systémique |
Renvoie le nom du système d'exploitation. Pour utilisation de Windows 2000 Le nom du système d'exploitation est affiché comme windows_nt. |
|
Systémique |
Spécifie le chemin de recherche pour les fichiers exécutables. |
|
Systémique |
Renvoie une liste des extensions de fichier considérées par le système d'exploitation comme exécutable. |
|
% Processor_architecture% |
Systémique |
Retourne l'architecture du processeur. Valeurs: x86, IA64. |
% Processor_idenfier%% |
Systémique |
Renvoie la description du processeur. |
% Processor_level%% |
Systémique |
Renvoie le numéro de modèle de processeur installé sur l'ordinateur. |
% Processor_revision%% |
Systémique |
Renvoie le numéro de modification du processeur. |
Local |
Retourne les paramètres de ligne de commande pour l'interprète actuel. Créé par une commande cmd.exe. |
|
Systémique |
Renvoie un nombre décimal arbitraire de 0 à 32767. Créé par la commande cmd.exe. |
|
Systémique |
Renvoie le nom du disque contenant le répertoire racine de Windows XP (i.e. système système). |
|
Systémique |
Renvoie l'emplacement du répertoire système Windows XP. |
|
Système et utilisateur |
Retourne les dossiers temporaires, les valeurs par défaut utilisées par les applications disponibles pour les utilisateurs rencontrés dans le système. Certaines applications nécessitent une variable TEMP, d'autres - la variable TMP. |
|
Systémique |
Retourne l'heure actuelle. Utilise le même format que l'équipe time / T.. Créé par une commande cmd.exe. |
|
Local |
Renvoie le nom de domaine contenant une liste des comptes d'utilisateurs. |
|
Local |
Renvoie le nom de l'utilisateur qui s'est connecté au système. |
|
Local |
Renvoie la mise en place du profil de l'utilisateur actuel. |
|
Systémique |
Renvoie le placement du répertoire du système d'exploitation. |
Définit, supprime et scanne les variables d'environnement. Causé sans paramètres, équipe eNSEMBLE. Affiche une liste des variables d'environnement installées et leurs valeurs.
Syntaxe
eNSEMBLE. [[/ UNE. [expression]] [/ P. [variable = ]] ligne]
Paramètres
/ A indique que le paramètre ligne C'est une expression numérique calculée. / P définit la valeur variable Chaîne d'entrée. La variable indique le nom de la variable dont la valeur est requise ou modifiée. La chaîne définit une valeur de chaîne pour la variable spécifiée. /? Affiche l'aide de la ligne de commande.Remarques
- En utilisant l'équipe eNSEMBLE. Dans la console de récupération
Équipe eNSEMBLE. Avec d'autres paramètres disponibles dans la console de récupération.
- Utiliser des caractères spéciaux
Symboles<, >, |, & ^ sont des symboles spéciaux de la coquille de commande, vous devez soit placer le symbole de contrôle (^) avant d'eux, ou entrer dans des guillemets lorsque vous utilisez des caractères dans le paramètre ligne (par exemple, " ligne_strojections & symbole" ). Lorsqu'il est obusé de citations, une chaîne contenant symboles spéciauxLes citations sont considérées comme faisant partie de la valeur de la variable d'environnement.
- Utilisation de variables d'environnement
Les variables de mercredi sont utilisées pour contrôler le fonctionnement de certains fichiers et programmes de lots et de contrôler windows Travailler Sous-système XP et MS-DOS. Équipe eNSEMBLE. Il est souvent utilisé dans le fichier Autoexec.nt pour installer des variables d'environnement.
- Sortie des paramètres environnementaux en cours
Quand l'équipe eNSEMBLE. Appelé sans paramètres, les paramètres actuels seront affichés à l'écran. Typiquement, ces paramètres comprennent les variables COMSPEC et Chemin utilisés pour rechercher des programmes de disque. Deux autres variables d'environnement utilisés par Windows sont rapides et Dircmd.
- Utilisation des paramètres
Lorsque vous spécifiez des valeurs pour une variable et une chaîne, la valeur variable est ajoutée à l'environnement et la chaîne est mise en conformité avec cette variable. Si la variable existe déjà, la nouvelle valeur remplace l'ancienne valeur.
Si dans une équipe eNSEMBLE. Seul le nom de la variable et le signe de l'égalité (sans valeur) est spécifié, toute valeur ne sera pas mise en conformité de la variable d'environnement, ce qui équivaut à supprimer la variable d'environnement.
- Utilisant / UNE.
Le tableau suivant montre les opérateurs prenant en charge le paramètre / UNE., dans l'ordre d'ordre décroissant.
Utilisant opérateurs logiques (&& ||) ou le résidu d'opérateur de la division (%) concluait une chaîne de guillemets. Tous les non-coupés dans l'expression sont considérés comme les noms de la variable d'environnement dont les valeurs sont converties en chiffres avant le traitement. Si le nom du milieu de variable est spécifié, qui n'est pas défini dans l'environnement actuel, il est attribué à la valeur de zéro, qui permet des opérations arithmétiques avec les valeurs de la variable d'environnement sans utiliser% pour obtenir la valeur.
Lors de l'exécution d'une équipe sET / A. De la ligne de commande en dehors du script de commande, la valeur finale de l'expression est affichée.
Les valeurs numériques sont des nombres décimaux, à l'exception des nombres avec des préfixes 0x pour les nombres hexadécimaux et 0 pour les nombres octals. Ainsi, 0x12 est identique à 18 et 022. La représentation octale nécessite une précision. Par exemple, 08 et 09 ne sont pas autorisés, car 8 et 9 ne sont pas des nombres octals.
- Utilisant / P.
Utilisé lorsque vous n'avez pas besoin d'activer la ligne de commande.
- Soutien à l'élargissement d'un environnement variable avec un retard
Ajout de la prise en charge d'élargir un environnement variable avec un délai. Ce support est désactivé par défaut, vous pouvez l'activer ou le désactiver à l'aide de la commande. cmd / V..
- Travailler avec des extensions d'équipe
Lorsque les extensions de commande sont activées (par défaut) et exécution de la commande eNSEMBLE. Sans valeurs, toutes les variables d'environnement actuelles sont affichées à l'écran. Si l'équipe est exécutée eNSEMBLE. Avec la valeur, les variables correspondant à cette valeur sont affichées.
- En utilisant l'équipe eNSEMBLE. Dans les fichiers de lots
Lors de la création de fichiers de lots, utilisez la commande eNSEMBLE. Créer des variables et les utiliser comme variables numériques à partir de %0 avant que %9 . Vous pouvez également utiliser des variables de %0 avant que %9 Comment entrer dans l'équipe eNSEMBLE..
- Appel aux variables eNSEMBLE. Des programmes de lots
Lors de l'accès à une variable à partir d'un programme de lots, le nom de la variable doit être conclu dans des signes d'intérêt (%). Par exemple, si une variable en bauds est créée dans le programme de paquets, un paramètre remplaçable peut être connecté à l'aide du nom % Bauds% sur la ligne de commande.
Exemples
Pour définir la variable d'environnement nommée Test ^ 1, entrez la commande:
définir TestVar \u003d Test ^^ 1
Pour définir la variable d'environnement nommée Test & 1, entrez la commande:
définir TestVar \u003d Test ^ & 1
Valeur de commande variable eNSEMBLE. Détermine tout ce qui suit le signe de l'égalité (\u003d). En entrant:
définir TestVar \u003d "Test ^ 1"
Le résultat sera le suivant:
testVar \u003d "Test ^ 1"
Pour définir la variable d'environnement Inclure de manière à ce que le C: \\ Inc soit connecté à celui-ci (Inc Catalogue sur C C), vous pouvez utiliser la commande suivante:
ensemble Inclure \u003d c: \\ inc
La chaîne C: \\ Inc peut être utilisée dans les fichiers de lots en entrant dans le nom Inclure les signes en pourcentage (%). Par exemple, dans un fichier de commandes, vous pouvez utiliser la commande suivante pour émettre le contenu du répertoire à laquelle l'environnement Intellude spécifie:
Lors de l'exécution d'une ligne de commande % inclure% Sera remplacé par une chaîne C: \\ inc.
Vous pouvez également utiliser la commande eNSEMBLE. Dans un programme de lots qui ajoute un nouveau répertoire au trajet variable de l'environnement de chemin. Par example:
@Écho off
REM addpath.bat ajoute un nouveau catalogue
REM à l'environnement de chemin variable.
Définir le chemin \u003d% 1;% de chemin%%
ENSEMBLE.
Lorsque les extensions de commande sont activées (par défaut) et exécution de la commande eNSEMBLE. Avec la valeur, toutes les variables sont affichées à l'écran correspondant à la valeur. Par exemple, lors de la saisie de la ligne de commande: eNSEMBLE. p.Le résultat sera le suivant:
Chemin \u003d c: \\ winnt \\ system32; c: \\ winnt; c: \\ winnt \\ system32 \\ wbem
Pathext \u003d .com; .exe; .bat; .cmd; .vbs; .vbe; .js; .jsf; .wsf; .wsf; .wsh
Processor_architecture \u003d x86.
Processor_Identifier \u003d x86 Famille 6 Modèle 8 Étecture 1, VéritableTel
Processor_level \u003d 6.
Processor_revision \u003d 0801.
ProgrammesFiles \u003d C: \\ Program Files
Invite \u003d $ p $ g
Certaines techniques et caractéristiques de la commande SET peuvent être visualisées dans la section Traitement des données arithmétiques.
Pour des questions, des discussions, des commentaires, des propositions, etc. Vous pouvez utiliser la section de ce forum sur le site (l'inscription requise).