Script et traitement par lots dans one_other

2019-12-27
Le traitement par lots est une bonne aide pour gérer les ordinateurs et effectuer certaines tâches quotidiennes. Avec la mise à niveau de Windows, le traitement par lots peut faire de plus en plus. Mais il y a encore beaucoup de choses que nous ne pouvons pas faire avec le traitement par lots. Heureusement, Microsoft a ajouté Windows Script Host à Windows. Nous pouvons maintenant utiliser JScript ou VBScript pour effectuer des travaux plus complexes. Avec WMI, on peut dire qu'il peut tout faire. Les scripts WSH sont exécutés à l'aide de CScript.exe ou WScript.exe. CScript.exe et WScript.exe ont certains paramètres. La définition de paramètres différents peut affecter le résultat de l'exécution. J'ai constaté que certains scripts utilisant l'interpréteur par défaut (WScript.exe) et les paramètres par défaut n'obtiennent pas les résultats souhaités. De cette façon, lorsque j'écris un script à utiliser par d'autres, je dois trop expliquer si je dois l'exécuter avec CScript.exe ou WScript.exe, et quels paramètres configurer. Comment résoudre ce problème? Il existe un moyen: écrire un autre fichier de commandes et exécuter le script de manière appropriée. Mais alors je dois avoir deux fichiers. Pouvez-vous utiliser un seul fichier? Oui! Intégrer le script et le traitement par lots! Non seulement peut résoudre les problèmes ci-dessus, mais aussi profiter des avantages du traitement par lots et WSH.
L'idée est de mettre des instructions batch dans les commentaires du script. JScript peut utiliser / * * / comme commentaire, j'ai donc choisi JScript. Cependant, / * * / est des caractères illégaux dans le lot, comment peut être introduit sans aucune erreur inutile il?
nous avons besoin d'un lot et JScript sont acceptées, et aucune déclaration d'utilisation / * Introduit. En JScript, il existe une telle instruction @set @ varname = valeur, et dans le traitement par lots: définissez varname = valeur, dans le traitement par lots, vous pouvez ajouter @ avant l'instruction, ce qui signifie que cette phrase n'est pas sortie. C'est ce dont nous avons besoin! Dans la mesure où * / est facile à utiliser, utilisez simplement @rem * /.
Veuillez consulter le code ci-dessous (extension bat), c'est très simple.

copier le code code est le suivant:
@set @ this_call_started = 1 / *
@echo off
@Rem Autoriser CMD.EXE à étendre les fonctions
@SETLOCAL ENABLEEXTENSIONS
@rem Autoriser CMD.EXE à retarder l'expansion des variables d'environnement
@SETLOCAL ENABLEDELAYEDEXPANSION
...
Les instructions de lot sont écrites ici < BR> ...
@rem "% ~ dpnx0" Le nom de fichier du fichier batch étendu lui-même est le nom du fichier avec le chemin complet
@ rem% * Tous les paramètres du fichier batch lui-même
@rem re Appelez ce fichier en tant que fichier de script
@call CScript.EXE "% ~ dpnx0" // Nologo // e: jscript% *
...
Les instructions de lot sont écrites ici
.. .
@goto end_this_call
@rem * /
// Démarrage du script Windows ============================== =======================
...
Les instructions de script sont écrites ici
...
// Fin du script Windows ========================================================= ===
/ *
: end_this_call
... des déclarations de lot
écrit ici ...

@set @ this_call_started =
@rem * /

www.xd1998.com@2001-2030Partage De Technologie