Fichier de commandes externes de fichier pour les variables
J'ai un fichier batch et je veux inclure un fichier externe contenant certaines variables (dites variables de configuration). Est-il possible?
Vous devez vous connecter pour publier un commentaire.
Remarque: je suis en supposant que Windows fichiers batch comme la plupart des gens semblent ignorer qu'il existe d'importantes différences et seulement aveuglément tout appeler avec texte en gris sur fond noir DOS. Néanmoins, la première variante de travail dans DOS ainsi.
Exécutable de configuration
La façon la plus simple de le faire est de simplement mettre les variables dans un fichier de commandes elles-mêmes, chacune avec sa propre
set
déclaration:et dans le lot:
Bien sûr, qui permet également de variables à être créé de manière conditionnelle ou selon les aspects du système, il est assez polyvalent. Toutefois, le code arbitraire peut courir là-bas et si il y a une erreur de syntaxe, votre principale lot d'une sortie de trop. Dans le monde UNIX, cela semble être assez commun, surtout pour les coques. Et si vous pensez à ce sujet,
autoexec.bat
n'est rien d'autre.Paires clé/valeur
Une autre façon serait une sorte de
var=value
paires dans le fichier de configuration:Vous pouvez ensuite utiliser le code suivant pour les charger:
Ceci utilise une astuce similaire comme avant, à savoir que l'aide
set
sur chaque ligne. Les guillemets sont là pour échapper à des choses comme<
,>
,&
,|
. Cependant, ils vont se casser quand on utilise les guillemets dans l'entrée. Aussi, vous devez toujours être prudent lors de la poursuite du traitement des données dans les variables stockées avec de tels caractères.Généralement, automatiquement échapper à l'arbitraire d'entrée de cause pas de maux de tête ou des problèmes dans des fichiers batch semble assez impossible pour moi. Au moins je n'ai pas trouver un moyen de le faire encore. Bien sûr, avec la première solution vous poussez la responsabilité de l'écriture du fichier de configuration.
Si le fichier de configuration externe est également valable fichier de commandes, vous pouvez simplement utiliser:
à l'intérieur de votre script. Essayez de créer à la suite d'une.chauve-souris:
et b.chauve-souris:
De l'exécution d'un.chauve-souris devrait générer de sortie:
call
, qui est btw synchrone), il dit: "le processus ne peut pas accéder au fichier becaues il est utilisé" et ne peut pas être invoquée.Lot utilise le moins et de plus de parenthèses, comme l'entrée et la sortie des tuyaux.
En utilisant une seule sortie sur support, comme ci-dessus va écraser toutes les informations contenues dans ce fichier.
À l'aide de la double crochet droit qui va ajouter la ligne suivante dans le fichier.
Execute les paramètres sur la base des lignes du fichier. Dans ce cas, nous allons utiliser les deux lignes qui sera saisi à l'aide de "l'echo". Le crochet gauche en touchant le droit de la parenthèse la parenthèse signifie que les informations de ce fichier sera acheminée dans ces lignes.
J'ai compilé un exemple uniquement en lecture/écriture de fichier. Ci-dessous le fichier est divisé en sections pour expliquer ce que chaque partie n'.
SRU peut être quelque chose dans cet exemple. Nous sommes en fait le réglage pour éviter un plantage si vous appuyez sur Entrée trop rapide.
Maintenant, nous devons écrire les variables dans un fichier.
Que j'utilise .cdb comme un court formulaire pour la Commande "Base de données". Vous pouvez utiliser n'importe quelle extension.
La section suivante est de tester le code à partir de zéro. Nous ne voulons pas utiliser l'ensemble des variables qui ont été exécutés au début du fichier, en fait, nous voulons à la charge DE l'paramètres.le cdb nous venons d'écrire.
Il y a juste les canalisations de la première deux lignes d'informations que vous avez écrit au début du fichier (que vous avez la possibilité d'ignorer le réglage de la lignes de vérifier pour s'assurer qu'il fonctionne) pour définir les variables d'entrée et de input2.
Cela affiche les informations qui ont été définis lors de paramètres.la cdb a été acheminée dans la parenthèse. Comme un supplément de bien-emploi de motivation, en appuyant sur entrée et réglage des valeurs par défaut, qui nous l'avons défini plus haut comme "1" sera de retour un bon travail de message.
En utilisant le support de tuyaux va dans les deux sens, et il est beaucoup plus facile que de définir la "POUR les" choses". 🙂
Donc vous avez juste à faire de ce droit?:
De sortie:
$RunCount=1
$RunCount=2
$RunCount=3
La technique décrite ci-dessus peut également être utilisé pour partager des variables entre plusieurs fichiers batch.
Source: http://www.incodesystems.com/products/batchfi1.htm
Un peu vieux sujet, mais j'ai eu la même question il y a quelques jours et je suis venu avec une autre idée (peut-être que quelqu'un va trouver toujours utile)
Par exemple, vous pouvez faire une config.chauve-souris avec différents thèmes (la famille, la taille, la couleur, les animaux) et de les appliquer individuellement dans n'importe quel ordre n'importe où vous voulez dans vos scripts batch:
Après que, vous pouvez l'utiliser n'importe où en appelant pleinement avec l'appel de config.bat tous " ou en appelant seulement des parties (voir l'exemple ci-dessous)
L'idée ici est que, parfois, est plus pratique quand vous avez l'option de ne pas appeler tout à la fois. Certaines variables peut-être que vous ne voulez pas être appelé encore si vous pouvez les appeler plus tard.
Exemple de test.chauve-souris
Espère que cela aide la façon dont les autres m'aider ici avec leurs réponses.
Une version courte de la ci-dessus:
config.chauve-souris
test.chauve-souris
Bonne journée.
N'oublions pas le bon vieux paramètres.
Lors du démarrage de votre *.chauve-souris ou *.cmd fichier, vous pouvez ajouter jusqu'à neuf paramètres après la commande de nom de fichier:
Exemple de script
La myscript.chauve-souris pourrait être quelque chose comme ceci:
Exemple de sortie
En essayant d'utiliser la méthode avec excutable de configuration
J'ai remarqué que ça peut fonctionner ou ne PAS fonctionner
selon l'endroit où se trouve le script de l'appel:
d'appels config.cmd
Je sais que cela n'a aucun sens, mais pour moi, c'est un fait.
Lors de "l'appel de config.cmd" situé en haut de la
script, il fonctionne, mais si plus loin dans le script, ça ne le fait pas.
Par ne fonctionne pas, je veux dire les variables ne sont pas définies de l'onu, le script d'appel.
Très très étrange !!!!