web-dev-qa-db-fra.com

Comment ouvrir un fichier depuis la ligne de commande avec un programme spécifique?

J'aimerais ouvrir un PDF dans Photoshop à partir de la ligne de commande. Mon problème actuel est que l'application par défaut pour l'ouverture de fichiers PDF est Adobe Acrobat. Je me demande s'il existe un paramètre que je peux transmettre pour spécifier le programme à utiliser lors de l'ouverture d'un fichier.

En d'autres termes, je souhaite émuler l'option "Ouvrir avec" lorsque vous cliquez avec le bouton droit sur un fichier pour l'ouvrir avec l'application autre que celle par défaut, mais à partir de la ligne de commande.

Je ne souhaite pas modifier l'application par défaut pour que les PDF soient Photoshop.

Des idées?

12
csterling

Tout ce dont vous avez besoin est de fournir le nom du fichier comme argument de ligne de commande:

photoshop <path to file>

(<chemin d'accès au fichier> doit être cité s'il contient des espaces)

Par exemple:

photoshop "C:\Users\csterling\Documents\some document.pdf"

Si le répertoire contenant photoshop.exe ne se trouve pas dans votre variable Path environment, vous devrez fournir le chemin complet:

"C:\Program Files\Adobe\Photoshop\photoshop" "C:\Users\csterling\Documents\some document.pdf"

Ce n'est pas une fonctionnalité de l'invite de commande, c'est une fonctionnalité de l'exécutable, c'est-à-dire que photoshop.exe doit être programmé pour accepter un fichier à ouvrir en tant qu'argument de ligne de commande. Heureusement, tout comme la majorité des applications Windows qui fonctionnent sur des fichiers.

21
Adi Inbar

Si vous souhaitez que cela fonctionne avec un chemin relatif dans PowerShell, voici le script:

function photo
{
   $the_filename=resolve-path $args[0]
   photoshop $the_filename
}

Ensuite, vous pouvez simplement taper:

cd C:\Users\csterling\Documents
photo mypic.jpg
1
Seperman