9 votes

AutoHotKey Exécuter des commandes Windows

Existe-t-il un moyen d'exécuter des commandes Windows dans AutoHotKey sans simplement ouvrir une invite de commande et envoyer les pressions sur les touches ?

Je souhaite exécuter des commandes cachées en arrière-plan. Par exemple, je veux exécuter des commandes cachées en arrière-plan.

del C:\Users\Test\Desktop\test.txt

Je sais qu'il existe une commande de suppression de fichier dans AutoHotKey, mais je veux pouvoir exécuter d'autres commandes en ligne qui ne fonctionnent pas dans AHK. Ce n'était qu'un exemple.

Gracias.

9voto

fisknils Points 151
run, %comspec% /c del C:\Users\Test\Desktop\test.txt,,hide

%comspec% pointe vers cmd.exe si vous avez besoin de vous exécuter en tant qu'administrateur, vous devrez vous tourner vers runas.

6voto

Shayan Points 1193

Vous ne devez pas utiliser %ComSpec% comme indiqué par l'autre réponse . Vous pouvez utiliser cmd.exe et utiliser /c qui est l'indicateur de commande, il exécutera tout ce qui se trouve devant lui, à l'intérieur de cmd.

Run cmd.exe /c del C:\Users\Test\Desktop\test.txt

Voici à quoi ressemble la syntaxe :

Run, Target, WorkingDir, Options, OutputVarPID

RunWait, Target, WorkingDir, Options, OutputVarPID

Si vous avez besoin qu'une commande se termine et se poursuive ensuite, utilisez RunWait . Pour enregistrer la sortie d'une commande, par exemple si vous souhaitez enregistrer votre adresse IP WAN dans votre presse-papiers, vous pouvez diriger la sortie avec la commande clip commande.

RunWait, cmd.exe /c nslookup myip.opendns.com resolver1.opendns.com | clip

Si vous avez besoin d'une réponse sur une seule ligne, vous pouvez utiliser la fonction find pour supprimer les lignes indésirables :

RunWait, cmd.exe /c nslookup myip.opendns.com resolver1.opendns.com | find /i "address" | find /v "208.67.222.222" | clip

Vous pouvez masquer l'affichage de la fenêtre cmd à l'aide de l'option hide :

Run cmd.exe /c del C:\Users\Test\Desktop\test.txt,,hide


https://www.autohotkey.com/docs/commands/Run.htm

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