Comment modifier des fichiers texte dans l'invite de commande Windows?

91

Sous Unix, je n'utiliserais que vi , mais je ne sais pas quelle est la commande sous Windows. J'essaie actuellement de modifier des fichiers via SSH avec Windows Server 2008.

Casebash
la source
1
Je pense que la réponse acceptée devrait être changée en squillman (car c'est le seul qui marchera sur la plupart des PC contemporains - et éventuellement dans des conteneurs Docker).
Peter Mortensen
si vous n'avez un ordinateur de bureau graphique , mais simplement vouloir modifier un fichier directement à partir vous pouvez utiliser le bloc - notes , par exemple aveccmdnotepad myfile.txt
ccpizza

Réponses:

51

edit filename

Je ne certifierai pas ses fonctionnalités ni son interface graphique obsolète, mais il est installé par défaut, même sous Windows 7.

Edit: Sauf les versions 64 bits de Windows.

Mike Fitzpatrick
la source
13
Sur toutes les versions de Windows? Il n'y a apparemment pas de "modification" sur Windows 7.
Snark
12
Bizarre ... évidemment, il est installé par défaut sur Windows 7 32 bits, mais pas sur Windows 7 64 bits. C'est triste.
nhinkle
6
@nhinkle: Je crois me rappeler avoir lu quelque chose sur le fait que les applications 16 bits ne sont pas disponibles sous les installations Windows 64 bits.
Intuitionné
4
Confirmé ne fonctionne pas dans Win 10 ... Je ne peux pas vraiment croire Windows manque de tels outils de base et personne ne semble même se soucier
Rafael T
2
C'est juste une mauvaise réponse quand on parle de "Windows" en général. Aujourd'hui, Windows est également Win7-64bit, Win8-64bit, Win8.1-64bit, Win10. "modifier" ne peut pas être la réponse correcte à la question du point de vue actuel.
Mehrdad Mirreza
69

La solution la plus simple sur toutes les versions de Windows est:

C:\> notepad somefile.txt

Et aucun logiciel supplémentaire requis.

BillP3rd
la source
27
Bien
4
Ah Droite. Windows n'a pas d'éditeur de ligne de commande intégré. Vous devrez probablement installer la version Gnu de l'éditeur que vous souhaitez utiliser. Puisque vous avez déjà installé le sshserveur, cela ne devrait pas vous poser de problème.
BillP3rd
8
Comme OP a dit ... "J'essaie réellement de modifier des fichiers sur ssh ..."
daviewales
7
réponse inutile, tant pour les utilisateurs de ssh et pour ceux qui veulent éditer les fichiers IN fenêtre cmd, non à l' extérieur
vladkras
3
Cela ne fonctionnera pas dans un conteneur Docker basé sur 'windowsservercore'
Peter Mortensen
42

À partir d'une invite de commande Windows, entrez copy con suivi du nom du fichier cible. ( copy con c:\file.txt)

Ensuite, entrez le texte que vous souhaitez mettre dans le fichier.

Fin et enregistrez le fichier en appuyant sur CTRL- Zpuis Enterou F6ensuite Enter.

Si vous souhaitez modifier du texte dans un fichier existant, affichez simplement le texte à l'aide de la commande typesuivie du nom du fichier, puis copiez et collez simplement le texte dans la copy concommande.

Mordorf
la source
7
Difficile. Essayez de ne pas faire de fautes de frappe, ou vous devrez recommencer. Eh bien, le retour arrière fonctionne si vous détectez l'erreur avant d'appuyer sur Entrée.
Kevin Panko
Ne semble pas fonctionner avec psexec. J'ai essayé d'éditer mon fichier hosts avec copy con hostsmais ^ Z ne sauvegarde pas et ^ C n'annule pas! J'ai dû fermer la fenêtre cmd pour sortir. Le fichier était inchangé.
Iain Samuel McLean Elder
Remarque: F6 peut être utilisé à la place de [Ctrl] - [Z]
MonoThreaded le
Dans un conteneur Docker basé sur 'windowsservercore' (CMD), Ctrl + C a fonctionné pour la séquence de touches finale.
Peter Mortensen
15

Si vous êtes habitué à vi et ne souhaitez pas vous contenter de l'éditeur intégré, vous pouvez vous procurer Vim pour Windows . Ça va partir d'un shell de commande. Ou essayez WinVi .

écailleur
la source
cela devrait me marquer comme réponse car edita été retiré de la victoire 10
Luc
1
C’est bien mieux que cela: cela fonctionne également dans un conteneur Windows Docker (il est plus facile d’obtenir le "fichier exécutable de la console Win32", par exemple vim81w32.zip - décompressez-le et copiez- vim.exele partout où il est accessible dans le conteneur Docker).
Peter Mortensen
9

Croyez-le ou non, EDLIN.EXEexiste toujours <shudder>au moins sur ce système Vista.

Excuse-moi pendant que je sanglote doucement pour moi-même ...

Dennis Williamson
la source
6
Il a finalement été supprimé dans Windows 7 (au moins les versions 64 bits).
Parroïde
1
@ jason404: Il est toujours inclus dans Windows 7 32 bits.
Dennis Williamson
2
edlin est un programme 16 bits, il n'est donc pas disponible dans les versions 64 bits de Windows. Cependant, je ne serais pas surpris si quelqu'un ici prétend qu'il est toujours présent dans la version 32 bits de Windows 10.
TSJNachos117
1
@ TSJNachos117 Il est en effet dans x86 Windows 10.
Brian Duddy
Pas du tout surpris.
TSJNachos117
8

Je ne connais rien à propos de SSH ou de tout ce qui concerne le serveur, alors pardonnez-moi si cette "solution" est inutile. Si vous souhaitez modifier des fichiers à l'invite de commande, vous pouvez obtenir la version Windows de Nano .

En remarque, ces petits ^signes en bas de la fenêtre sont supposés représenter le Ctrlbouton. Par exemple, ^X Exitsignifie que vous pouvez quitter le programme en utilisant Ctrl- X.

De plus, Nano ajoute parfois des passages de ligne supplémentaires lors de la sauvegarde de fichiers. Cela semble être une sorte de bogue avec le mot wrapping de Nano.

J'ai également vu des ports de vi pour Windows, bien que j'en ai utilisé un qui semble rendre la fenêtre d'invite de commande aussi petite que possible, ne laissant qu'une barre de titre (ce qui signifie que le reste de la fenêtre peut aussi bien être invisible , puisque vous ne pouvez pas voir ce que vous faites). Cependant, la version Windows de Vim semble fonctionner assez bien.

TSJNachos117
la source
2
Avant de chercher ceux-ci "peuvent fonctionner mais sont des solutions inutiles", j'ai pensé pour un port Windows de Nano. Il utilise cygwin.dll et rien de plus. J'ai piqué la version la plus légère possible, de netcologne.dl.sourceforge.net/project/nano/nano/1.0.8/… . Je vous remercie.
erm3nda