4 votes

Comment ouvrir réellement un programme à partir d'un fichier batch ? Tout ce qu'il fait, c'est ouvrir une invite de commande avec ce nom de fichier.

Je suis en train d'essayer d'apprendre le scriptage de fichiers batch, alors peut-être que je ne vois pas ce que je fais mal, mais je suis en train de créer un fichier batch très simple qui ouvre un fichier texte.

Voici le code que j'utilise :

@echo off
title Opening a File Lesson
START "C:\Projects\batch\hi.txt"
pause

Au lieu d'ouvrir le fichier texte comme il le devrait, tout ce qu'il fait, c'est ouvrir l'invite de commande du fichier Batch avec la sortie correspondante :

Appuyez sur n'importe quelle touche pour continuer . . .

Ce qui est bien, c'est ce que je voulais, mais au lieu d'ouvrir le fichier texte, cela ouvre juste une AUTRE invite de commande avec le chemin d'accès au fichier : C:\Projects\batch\hi.txt comme légende et ne fait absolument rien d'autre que d'afficher mon chemin par défaut :

Microsoft Windows [Version 6.1.7600] Copyright (c) 2009 Microsoft Corporation. Tous droits réservés.

C:\Projects >

Quelqu'un peut-il m'indiquer ce que je fais mal et pourquoi il ne s'ouvre pas avec un programme par défaut ? J'ai essayé d'ouvrir d'autres fichiers aussi comme Outlook et Visual Studio 2010 en utilisant le chemin absolu (cible) et cela fait la même chose donc ce n'est pas seulement des fichiers texte. Toute aide serait appréciée, je ne suis pas encore habitué aux langages de script.

7voto

MDMoore313 Points 5492

Pour rester dans la lignée de votre exemple actuel, j'ajouterais ce qui suit :

START "" notepad.exe C:\Projects\batch\hi.txt

parce que ce que tu veux vraiment faire, c'est ouvrir bloc-notes et passer un paramètre, dans ce cas c'est le nom du fichier. La solution d'Athom peut également fonctionner, mais celle-ci m'est venue à l'esprit.

Si vous voulez attendre que le bloc-notes se ferme avant de terminer :

START "" /wait notepad.exe C:\Projects\batch\hi.txt

Le titre de la nouvelle fenêtre de lot se trouve à l'intérieur des guillemets. Dans mes exemples, je n'ai pas besoin de titre, donc je le laisse vide. Je pense que le START en attend un, il peut donc être obligatoire.

Je suggère aussi d'apprendre powershell quand tu auras fini, les mots puissance y Shell vraiment décrire son utilité. Je ne vous dirais pas d'abandonner le batch, car pour l'instant, certaines choses sont plus faciles en batch. De plus, à ce stade, powershell ne peut pas renvoyer de codes de sortie négatifs, ce qui craint, mais je m'égare.

2voto

Austin T French Points 10253

.txt ne nécessite pas la commande start.

Appelez-le simplement :

"C:\Projects\batch\hi.txt"

D'autres formats nécessitent le début, par exemple csv j'utilise le début.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X