Comment puis-je ouvrir un programme à partir d'un fichier batch? Tout ce qu'il fait est d'ouvrir une invite de commande avec ce nom de fichier [dupliquer]

4

J'essaie actuellement d'apprendre à créer des scripts de fichiers batch, alors je ne vois peut-être pas ce que je fais de mal, mais je ne fais que 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 est d'ouvrir l'invite de commande Fichier batch avec la sortie correspondante:

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

Ce qui est correct, c'est ce que je voulais mais au lieu d'ouvrir le fichier texte, il ouvre simplement une autre invite de commande avec le chemin du fichier: C: \ Projects \ batch \ hi.txt comme légende et ne génère absolument que le chemin par défaut. :

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

C: \ Projets>

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

Chris
la source
1
essayé avec non startet non " "?
Lorenzo Von Matterhorn
2
"start" ouvre un nouveau CMD. Si vous souhaitez qu'il lance un programme, indiquez plutôt le nom du programme.
sep332
2
Si vous commencez tout juste à apprendre et que vous utilisez W7 ou si l'installation ne vous dérange pas, je vous recommande vivement d'apprendre Powershell à la place.
EBGreen
@ EBGreen Eh bien, je prévois de créer des branches dans d'autres langages et environnements, mais la société pour laquelle je travaille utilise beaucoup les scripts batch, aussi je dois apprendre la syntaxe. Utiliser le chemin de fichier direct sans le début et "" semble fonctionner, mais je ne peux pas m'empêcher de penser que c'est une façon peu rentable de le faire. Est-ce la bonne façon?
Chris
Bien sûr, tant que vous êtes à l'aise avec le système qui décide quel programme utiliser pour ouvrir le fichier, ce n'est pas un problème.
sep332

Réponses:

6

Pour rester en ligne avec votre exemple actuel, j'ajouterais ce qui suit:

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

parce que ce que vous voulez vraiment faire, c'est ouvrir le bloc - notes et transmettre un paramètre. Dans ce cas, c'est le nom du fichier. La solution d'Athom peut également fonctionner, mais celle-ci me vient à 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 est à l'intérieur des guillemets. Dans mes exemples, je n'ai pas besoin d'un titre, je le laisse donc vide. Je pense que la STARTcommande en attend un, donc cela pourrait être obligatoire.

Je suggère également d'apprendre PowerShell lorsque vous avez terminé, les mots pouvoir et coquille décrivent vraiment son utilité. Je ne dirais cependant pas qu'il faut abandonner le traitement par lots car, à l'heure actuelle, certaines choses sont simplement plus faciles dans le traitement par lots. De plus, à ce stade, powershell ne peut pas renvoyer de codes de sortie négatifs, ce qui est vraiment nul, mais je m'éloigne du sujet.

MDMoore313
la source
2

.txt ne nécessite pas la commande de démarrage.

Il suffit d'appeler ça:

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

Les autres formats NE requièrent pas le démarrage, par exemple csv que j’utilise start.

Austin T français
la source
3
En passant, la possibilité d'appeler simplement ces applications sans la commande de démarrage (ou même avec celle-ci [mais sans appeler spécifiquement notepad.exe] comme le fait BigHomie) est fournie via le mécanisme de gestion du type de fichier MIME de Windows. Cela signifie que tout type de fichier que vous pouvez double-cliquer pour ouvrir devrait fonctionner de la même manière ici. L'action par défaut sera utilisée. IOW, si Athom souhaitait que les fichiers CSV fonctionnent, il pouvait associer CSV à un bloc-notes et il pourrait utiliser ces fichiers de la même manière.
Krowe2