Maison >interface Web >Questions et réponses frontales >Comment ouvrir l'invite de commande dans Nodejs

Comment ouvrir l'invite de commande dans Nodejs

PHPz
PHPzoriginal
2023-05-23 21:03:37671parcourir

Dans Node.js, vous pouvez ouvrir l'invite de commande via la méthode spawn du module child_process.

Tout d'abord, vous devez introduire le module child_process dans le code :

const { spawn } = require('child_process');

Ensuite, exécutez la méthode spawn à l'emplacement où vous souhaitez ouvrir l'invite de commande :

const cmd = spawn('cmd');

Cela ouvrira une fenêtre d'invite de commande à l'emplacement actuel . Si vous souhaitez ouvrir l'invite de commande à un emplacement spécifique, vous pouvez transmettre un chemin spécifique dans la méthode spawn :

const cmd = spawn('cmd', ['/k', 'cd', 'C:/Users/Username/Path']);

Cela ouvrira l'invite de commande sous l'emplacement "C:/Users/Username/Path".

Dans l'invite de commande qui s'ouvre, toute commande prise en charge peut être exécutée. Par exemple, vous pouvez lister les fichiers et répertoires du répertoire actuel :

cmd.stdin.write('dir 
');

Cela exécutera la commande "dir" dans l'invite de commande et affichera les résultats.

Lorsque l'invite de commande n'est pas nécessaire, vous pouvez utiliser le code suivant pour la fermer :

cmd.stdin.end();

Exemple de code complet :

const { spawn } = require('child_process');

const cmd = spawn('cmd', ['/k', 'cd', 'C:/Users/Username/Path']);

cmd.stdout.on('data', (data) => {
  console.log(`stdout: ${data}`);
});

cmd.stderr.on('data', (data) => {
  console.error(`stderr: ${data}`);
});

cmd.on('close', (code) => {
  console.log(`child process exited with code ${code}`);
});

cmd.stdin.write('dir 
');

cmd.stdin.end();

Le code ci-dessus ouvrira l'invite de commande sous l'emplacement "C:/Users/Username/Path " et exécutez la commande "dir" et affichez les résultats sur la console. Lorsque l'invite de commande est fermée, le code de sortie du sous-processus sera affiché.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn