Je sais que cela peut être une question un peu étrange, plus le fait que je la pose ici. La raison en est que chaque fois que je pose des questions aux utilisateurs de Windows, ou même aux utilisateurs réguliers de Cygwin, ils ne semblent pas comprendre pourquoi j'ai besoin de cette fonctionnalité.
Pour ceux d'entre vous qui n'ont pas utilisé "open" dans le shell sous Mac OS X, cela fonctionne comme ceci:
$ open somepic.jpg
$ open SomeFile.m
Il examine donc le programme par défaut associé au fichier et l'ouvre. J'aimerais faire la même chose depuis Cygwin. Toutes les idées seraient très appréciées!
open
est ...open
. :) Je n'ai pas beaucoup utilisé Cygwin; Je préfère MobaXterm.Réponses:
Cela ouvrira theFile.ext avec l'application par défaut que vous avez définie pour les fichiers .ext.
la source
Pour être complet,
xdg-open
sous Linux joue à peu près le même rôle du côté Linux.la source
Comme mentionné, le meilleur moyen est probablement
cygstart
. Vous pouvez ajouter un alias à votre .bashrc (ou .zshrc ou autre):Mais vous pouvez aussi faire certaines choses avec
explorer.exe
. Ce n'est probablement pas aussi bon quecygstart
si vous rencontrez des problèmes avec cette approche (ou si vous devez l'utiliser avec le shell bash de Git plutôt qu'avec Cygwin), c'est une option à garder à l'esprit.Avant, j'utilisais le shell bash fourni avec Git pour Windows, et j'ai eu
dans mon .bash_profile. Il ouvrirait des répertoires dans l'Explorateur Windows et ouvrirait des fichiers dans l'application par défaut (selon la définition de Windows de "par défaut").
Il a cependant des limites. Étant donné qu'explorer.exe s'attend à être utilisé à une invite DOS (si sur une ligne de commande), ne vous attendez pas à ce que le globbing fonctionne. Si, par exemple, vous souhaitez ouvrir simultanément votre Gemfile, Vagrantfile, Cheffile et Rakefile, et que vous saisissez
Vous n'aurez qu'une fenêtre de l'Explorateur Windows. Je ne sais pas quelle logique (!?) Est à l'œuvre ici. Explorer.exe ignore probablement tous les arguments, car il ne sait pas quoi faire avec plusieurs arguments.
cygstart
n'est pas très intelligent non plus, car il ouvre uniquement le premier argument lorsque plusieurs arguments sont passés, mais au moins il ouvre un fichier, plutôt que le répertoire actuel.la source