2014-06-23 7 views
1

Je cherchais le code correct pour mon fichier batch pour démarrer un programme et ouvrir un fichier par extension uniquement. J'ai cherché et tout ce que je peux trouver est d'ouvrir un fichier par nom de fichier seulement, sans extension. Je voudrais le faire dans l'autre sens. J'ai essayé plusieursOuvrir le fichier par extension uniquement avec le fichier batch

start "C:\program files\folder\program name.exe" d:\folder\filename.extension 

J'ai trouvé des réponses pour d'autres programmes et les ai essayé, mais ils ne travaillaient pas. J'ai essayé de remplacer le nom de fichier par * mais cela n'a pas fonctionné aussi bien.

La raison pour laquelle je demande est parce que le nom de fichier va changer chaque numéro de build mais l'extension est unique dans ce dossier. J'espère que vous pourrez m'aider. Merci

Répondre

1

Vous pouvez faire comme suit

rem ** go to the folder 
CD d:\folder 

rem ** find all the filenames with required extension using a for-loop 

FOR /F "tokens=1 delims=" %%A in ('DIR /b *.extension') do (
    rem ** Added some delay before start as per OP comments 
    timeout 5 
    rem ** use start command 
    start "C:\program files\folder\program name.exe" %%A 
) 

Edit: Ajouté Timeout pour un certain retard avant le début comme par OP's comment

+0

Merci pour votre réponse. Je ne sais pas pourquoi mais ça ne marche pas. Il montre l'écran CMD mais avant que je puisse lire quelque chose il se referme à nouveau. Rien ne se passe. – user1527079

+0

J'ai découvert pourquoi cela ne fonctionnait pas. J'ai essayé de le déboguer et de mettre "Pause" après chaque ligne. Cela a très bien fonctionné. Apparentle il faut une courte pause entre aller dans le dossier et démarrer l'application. – user1527079

+0

Oui, je l'ai fait. J'ai ajouté une pause d'une seconde et maintenant ça marche bien! Je vous remercie. – user1527079

2

Vous devriez être en mesure de le faire:

start "" filename.extension 

Les doubles guillemets doubles fournissent le nom de la fenêtre pour une bizarre, illogique, raison pour Microsoft-y.

+0

par ' "bizarre, illogique, Microsoft-y"' Je pense que votre oublier la but de la commande 'start'. À l'origine, il était utilisé pour créer un nouveau fil dans DOS. Par conséquent, *** logiquement *** si vous créiez un nouveau sujet: vous voudriez le ** nommer ** en premier et assigner sa tâche plus tard. * TOUT A UNE RAISON * **: D ** – Monacraft

+0

Merci pour votre réponse. Je pense que cela ne fait pas ce que je veux. Cela nécessite encore de connaître le nom de fichier. Je veux l'ouvrir par extension de fichier seulement. Le nom de fichier contient le numéro de build, donc il sera différent à chaque build. – user1527079

Questions connexes