web-dev-qa-db-fra.com

Modifier un fichier texte sur la console sous Windows 64 bits

J'essaie de trouver le moyen le plus simple de modifier des fichiers texte dans la console (PowerShell dans mon cas). J'utilise Windows 7 64 bits. Cela me gêne de ne pas pouvoir taper edit filename.txt pour éditer un fichier. Cela fonctionnait, mais tout a changé. Quelles sont mes options pour afficher et éditer des fichiers texte dans la console Windows, et si vous me dites d'installer et d'apprendre VIM je vais vous frapper au visage. :-)

71
Busilinks

Éditeur de texte Kinesics .

C'est super rapide et gère les gros fichiers texte, même si les fonctionnalités sont minimes. Il existe une version graphique et une version console (k.exe) incluses. Devrait fonctionner la même chose sur Linux.

Exemple: lors de mon test, il fallait 7 secondes pour ouvrir une image disque de 500 Mo.

screenshot

27
user2164194

Tout en risquant de me frapper, je suppose que vous êtes coincé avec la solution que vous avez mentionnée. Regardez cette publication sur SuperUser:

Quels sont les éditeurs de texte autres que x dans Powershell?

En outre, il existe une version nano pour Windows:

Nano Editor

Je vais me cacher et couvrir maintenant, j'espère que quelqu'un aura une réponse plus suffisante.

21
Sven Plath

Pourquoi ne pas utiliser le bloc-notes?

notepad.exe filename.txt

L'ancien edit.com fonctionne dans PowerShell (au moins sur ma boîte: Windows 7 Pro x86) mais en x64, il ne fonctionne pas en raison de son architecture 16 bits.

Vous pouvez jeter un oeil à this éditeur facile.

20
CB.

Un peu de résurrection mais pour tous ceux qui viennent à cette question, jetez un oeil à l'éditeur Micro . Il s’agit d’un petit fichier EXE autonome, sans dépendance, avec des versions natives de Windows 32\64. Fonctionne bien dans PowerShell et CMD.EXE.

enter image description here

12
Alan B

Vous pouvez installer Far Manager (un grand OFM , au fait) et appeler son éditeur comme ça:

Far /e filename.txt
7
Joey

Je suis d'accord avec Sven Plath . Nano est une excellente alternative. Si vous avez Chocolatey setup. Installez nano en tapant ce qui suit dans Powershell:

PS C:\dev\> choco install nano

Ensuite, pour éditer somefile.txt, entrez:

PS C:\dev\> nano somefile.txt

C'est plutôt chouette!

Edit: Nano fonctionne bien sur ma machine Windows 10, mais prend incroyablement long à charger pour la première fois sur ma machine Windows 7. Cela m'a fait passer à vim (vi) sur mon ordinateur portable Win 7

PS C:\dev\> choco install vim
PS C:\dev\> vim $profile

Ajouter une ligne dans le profil powershell à Set-Alias ​​(sal)

sal vi vim

Esc -: - - x - Entrez :-)

7
Albino Cordeiro

installez vim en ligne, et vous pourrez alors faire: vim "nomfichier" pour éditer ce fichier

6
edwardtyl

Si vous utilisez un conteneur Windows et que vous souhaitez modifier n’importe quel fichier, vous pouvez obtenir et utiliser facilement Vim dans la console Powershell.

Pour shell dans le conteneur Windows Docker avec PowerShell:

docker exec -it <name> powershell

  • Commencez par obtenir le gestionnaire de paquets Chocolatey

    Invoke-WebRequest https://chocolatey.org/install.ps1 -UseBasicParsing | Invoke-Expression;

  • Installer Vim

    choco install vim

  • Actualiser ENVIRONNEMENTAL VARIABLE Vous pouvez simplement exit et Shell revenir au conteneur

  • Aller à l'emplacement du fichier et Vim it vim file.txt

2
Aidar Gatin

Je devais faire du débogage sur une image Windows Nano du menu fixe et je devais modifier le contenu d'un fichier, qui aurait deviné que c'était si difficile.

J'ai utilisé une combinaison de Get-Content et Set-Content et codage/décodage en base 64 pour mettre à jour les fichiers. Par exemple

Modification de foo.txt

PS C:\app> Set-Content foo.txt "Hello World"                                                                                                                                                                                        
PS C:\app> Get-Content foo.txt                                                                                                                                                                                                      
Hello World                                                                                                                                                                                                                         
PS C:\app> [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("TXkgbmV3IG11bHRpDQpsaW5lIGRvY3VtZW50DQp3aXRoIGFsbCBraW5kcyBvZiBmdW4gc3R1ZmYNCiFAIyVeJSQmXiYoJiopIUAjIw0KLi4ud29ybGQ=")) | Set-Content foo.txt 
PS C:\app> Get-Content foo.txt                                                                                                                                                                                                      
My new multi                                                                                                                                                                                                                        
line document                                                                                                                                                                                                                       
with all kinds of fun stuff                                                                                                                                                                                                         
!@#%^%$&^&(&*)!@##                                                                                                                                                                                                                  
...world                                                                                                                                                                                                                            
PS C:\app>       

L'astuce consiste à diriger la chaîne décodée en base 64 sur Set-Content

[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("...")) | Set-Content foo.txt 

Ce n'est pas vim mais je peux mettre à jour des fichiers, pour ce que ça vaut.

1
ug_

Je suis un ingénieur à la retraite qui a grandi avec DOS, Fortran, IBM360, etc. dans les années 60 et, comme d’autres sur ce blog, me manque cruellement de la perte d’un éditeur de ligne de commande sous Windows 64 bits. Après avoir passé une semaine à naviguer sur Internet et à tester des éditeurs, je souhaitais partager ma meilleure solution: Notepad ++. C'est loin d'être DOS EDIT, mais il y a quelques avantages. Il s’agit malheureusement d’un éditeur d’écran, nécessite une souris et est donc lent. D'autre part, c'est un éditeur de source Fortran décent et ses numéros de lignes et de colonnes sont affichés. Il peut conserver plusieurs onglets pour les fichiers en cours d’édition et même se souvenir de la dernière position du curseur. Je continue bien sûr à taper les codes du clavier (50 ans d’habitude), mais étonnamment au moins certains d’entre eux fonctionnent. Peut-être pas une fonctionnalité documentée. J'ai renommé l'éditeur en EDIT.EXE, défini un chemin d'accès et appelé à partir de la ligne de commande. Ce n'est pas si mal. Je vis avec ça. Attention, veillez à ne pas utiliser la touche de tabulation dans le source Fortran. Met un ASCII 6 dans le texte. Il est invisible et gFortran, du moins, ne peut pas s'en occuper. Notepad ++ possède probablement de nombreuses fonctionnalités avec lesquelles je n'ai pas le temps de jouer.

1
Doug Millar

Sous Linux, je m'amuse beaucoup à Nano, j'utilise toujours nano et c'est vraiment un excellent choix. Il existe une version pour Windows. Voici le lien https://nano-editor.org/dist/win32-support/

Cependant, le plus souvent, nous devons ouvrir le fichier en question, à partir de la ligne de commande le plus rapidement possible, pour ne pas perdre de temps. Nous pouvons utiliser notepad.exe, notepad ++ et même utiliser sublim text . Je pense qu'il n'y a pas plus grand qu'un éditeur léger, trop puissant. Texte sublime ici. pour la chose, nous ne voulons tout simplement pas sortir de la ligne de commande, ou nous voulons utiliser la ligne de commande pour être rapide. et oui. Nous pouvons utiliser un texte sublime pour cela. il contient une ligne de commande qui vous permet d'ouvrir rapidement un fichier en texte sublime. Il existe également différents arguments d’options que vous pouvez utiliser. Voici comment vous le faites.

Vous devez d’abord savoir qu’il existe subl.exe . une interface en ligne de commande pour sublim.

enter image description here

1 -> commençons par créer un fichier de commandes. le contenu est

enter image description here

@ECHO OFF

"C:\Program Files\Sublime Text 3\subl.exe" %*

Nous pouvons sauver cela où nous voulons. J'ai préféré créer un répertoire sur le répertoire d'installation de texte sublime. Et sauvegardé là le fichier batch que nous venons d’écrire et de créer.

(Remarque: changez le chemin ci-dessus en suivant votre installation).

2 -> nous ajoutons ce dossier à la variable d'environnement du système de chemin. et c'est tout.

enter image description here

ou de la configuration du système (Windows 7/8/10)

enter image description here

ensuite:

enter image description here

ensuite:

enter image description here

puis on copie le chemin:

enter image description here

alors nous ajoutons cela à la variable de chemin:

enter image description here

trop rapide!

lancez une nouvelle cmd et maintenant vous avez la commande subl qui fonctionne bien!

enter image description here

pour ouvrir un fichier, il vous suffit d'utiliser la commande subl en tant que compagnon:

subl myfileToOpen.txt

vous pouvez également utiliser l'un des arguments d'options (tapez --help pour les voir comme dans l'image ci-dessus).

Notez également que vous pouvez appliquer la même méthode à n’importe quel éditeur de votre choix.

1
Mohamed Allal

Je pense que vous pourriez simplement utiliser le bloc-notes, comme ceci:

notepad myfile.extension

Il devrait s'ouvrir dans le bloc-notes.

0
Xelxa

Eh bien, il existe mille façons d’éditer un fichier texte sur Windows 7. Habituellement, les gens installent Sublime, Atom et Notepad ++ en tant qu’éditeur. Pour la ligne de commande, je pense à la commande Éditer de base (en passant ne fonctionne pas sur les ordinateurs 64 bits), sinon je trouve le type con> nomdefichier comme une méthode très applaudissable.Si Windows est nouvellement installé et que l’on veut éviter Notepad, c’est peut-être !! L’utilisation parfaite de Tapez comme éditeur:)

référence de l'image: - https://www.codeproject.com/Articles/34280/How-to-Write-Applet-Code

0
Reitsu Y