2012-03-25 3 views
2

Je suis actuellement en train de porter des fichiers batch vers node.js. Je me sens plus à l'aise écrit en JavaScript, mais pour des opérations simples comme la copie d'un fichier, au lieu de:Interprète de ligne de commande pour Windows utilisant node.js

copy in.txt out.txt 

nous devons écrire quelques mots plus ...:

var fs = require ("fs"); 
var file = fs.createReadStream ("in.txt"); 
var newFile = fs.createWriteStream ("out.txt"); 

newFile.once ("open", function (fd){ 
    require ("util").pump (file, newFile); 
}); 

Si nous voulons supprimer une répertoire et tout son contenu nous devons utiliser une fonction récursive, donc 2 lignes simples en batch sont équivalentes à beaucoup de lignes dans node.js.

Je pense que node.js est si flexible et puissant et vous savez que Windows cmd suce, donc je demande ici si quelqu'un connaît un bon interpréteur de ligne de commande de style unix pour node.js.

Merci.

EDIT: Je l'ai fait une bibliothèque FileUtils pour Node.js ->https://github.com/Gagle/Node-FileUtils

+3

Pour moi, cette question se lit beaucoup comme "Je veux utiliser ce marteau pour conduire cette vis." Pourquoi ne pas utiliser un langage de script shell (par exemple, bash, de Cygwin) pour le faire? – Thomas

+0

Cygwin est plus orienté pour fournir un environnement pour compiler des fichiers C/C++ dans Windows et bien sûr il peut être utilisé pour écrire des scripts de type unix. Mais je demande un paquet spécifique pour node.js pour faciliter le déplacement, la copie, la suppression, l'affichage du contenu d'un fichier/répertoire, la création de fichiers vides, etc. avec des commandes simples. Ce pourrait être un excellent module que beaucoup de gens utiliseront. Je donne juste des idées ... –

+0

Eh bien, vous avez demandé un interpréteur en ligne de commande, pas un module de manipulation de système de fichiers. – Thomas

Répondre

1

Vous utilisez les mauvais outils. Vous seriez beaucoup mieux avec BASH ou Python. Personnellement, j'utilise Python sur les systèmes au travail, car il est presque idéal pour de tels efforts.

1

Vous pouvez essayer le paquet fileutils. Il manque de documentation, mais un survol rapide à travers ses fonctions source révèle copyFileToFile et copyFileIntoDir, et une méthode rm qui supprime récursivement les répertoires.

Questions connexes