ฉันจะแก้ไขไฟล์ข้อความในพรอมต์คำสั่ง Windows ได้อย่างไร


90

ใน Unix ฉันแค่ใช้viแต่ฉันไม่รู้ว่าคำสั่งนั้นอยู่บน Windows ฉันกำลังพยายามแก้ไขไฟล์ผ่าน SSH ด้วย Windows Server 2008


1
ฉันคิดว่าคำตอบที่ได้รับการยอมรับควรเปลี่ยนเป็นของ squillman (เพราะเป็นคำตอบเดียวที่สามารถใช้ได้กับพีซีร่วมสมัยส่วนใหญ่ - และอาจอยู่ในคอนเทนเนอร์ Docker)
Peter Mortensen


ถ้าคุณทำมีคอมพิวเตอร์ตั้งโต๊ะกราฟิก แต่เพียงต้องการที่จะแก้ไขไฟล์โดยตรงจากcmdนั้นคุณสามารถใช้เช่น Notepad กับnotepad myfile.txt
ccpizza

คำตอบ:


51

edit filename

ฉันจะไม่รับรองการใช้งานและ GUI ที่ล้าสมัย แต่จะติดตั้งตามค่าเริ่มต้นแม้แต่บน Windows 7

แก้ไข: ยกเว้น Windows รุ่น 64 บิต


13
ใน Windows ทุกรุ่น? ไม่มี "แก้ไข" ใน Windows 7 ที่เห็นได้ชัด
Snark

12
แปลก ... เห็นได้ชัดว่ามีการติดตั้งโดยค่าเริ่มต้นใน Windows 7 32 บิต แต่ไม่ใช่ใน Windows 7 64 บิต ช่างน่าเศร้า
nhinkle

6
@nhinkle: ดูเหมือนว่าฉันจะจำการอ่านบางสิ่งเกี่ยวกับแอพ 16 บิตที่ไม่สามารถใช้งานได้ภายใต้การติดตั้ง Windows แบบ 64 บิต
intuited

4
ได้รับการยืนยันไม่ทำงานใน Win 10 ... ฉันไม่สามารถเชื่อว่า Windows กำลังขาดเครื่องมือพื้นฐานดังกล่าวและดูเหมือนว่าไม่มีใครสนใจ
Rafael T

2
นี่เป็นเพียงคำตอบที่ผิดเมื่อพูดถึง "Windows" โดยทั่วไป วันนี้ Windows ยังเป็น Win7-64bit, Win8-64bit, Win8.1-64bit, Win10 "แก้ไข" ไม่สามารถตอบคำถามที่ถูกต้องจากมุมมองของวันนี้
Mehrdad Mirreza

68

ทางออกที่ง่ายที่สุดในWindows ทุกรุ่นคือ:

C:\> notepad somefile.txt

และไม่จำเป็นต้องใช้ซอฟต์แวร์เพิ่มเติม


27
ดี แต่ไม่เกิน SSH
Casebash

4
อา ขวา. Windows ไม่มีเครื่องมือแก้ไขบรรทัดคำสั่งในตัวคุณอาจต้องติดตั้งเครื่องมือแก้ไขเวอร์ชัน Gnu ที่คุณต้องการใช้ เนื่องจากคุณได้ติดตั้งsshเซิร์ฟเวอร์ไปแล้วนั่นก็น่าจะเป็นปัญหาสำหรับคุณ
BillP3rd

8
เช่น OP กล่าวว่า ... "จริง ๆ แล้วฉันพยายามแก้ไขไฟล์บน ssh ... "
daviewales

7
คำตอบที่ไร้ประโยชน์ทั้งสำหรับผู้ใช้ SSH และสำหรับผู้ที่ต้องการที่จะแก้ไขไฟล์ในหน้าต่าง cmd ไม่นอก
vladkras

3
สิ่งนี้จะไม่ทำงานใน Docker container โดยอิงจาก 'windowsservercore'
Peter Mortensen

42

จากพรอมต์คำสั่ง Windows ป้อนคำสั่งคัดลอกตามด้วยชื่อไฟล์เป้าหมาย ( copy con c:\file.txt)

จากนั้นป้อนข้อความที่คุณต้องการใส่ในไฟล์

End และบันทึกไฟล์ได้โดยการกดCTRL- Zแล้วEnterหรือแล้วF6Enter

หากคุณต้องการเปลี่ยนข้อความในไฟล์ที่มีอยู่เพียงแค่แสดงข้อความโดยใช้คำสั่งtypeตามด้วยชื่อไฟล์จากนั้นเพียงคัดลอกและวางข้อความในcopy conคำสั่ง


7
ฮาร์ดคอร์ พยายามอย่าพิมพ์ผิดหรือคุณจะต้องเริ่มต้นใหม่อีกครั้ง Backspace ใช้งานได้ดีหากคุณตรวจจับข้อผิดพลาดก่อนกด Enter
Kevin Panko

ดูเหมือนจะไม่ทำงานกับ psexec พยายามแก้ไขไฟล์โฮสต์ของฉันด้วยcopy con hostsแต่ ^ Z ไม่บันทึกและ ^ C ไม่ได้ยกเลิก! ต้องปิดหน้าต่าง cmd เพื่อออกไป ไฟล์ไม่เปลี่ยนแปลง
เลนซามูเอลแมคลีนผู้อาวุโส

หมายเหตุ: สามารถใช้ F6 แทน [Ctrl] - [Z]
MonoThreaded

ในคอนเทนเนอร์ Docker ที่ใช้ 'windowsservercore' (CMD), Ctrl + C ทำงานสำหรับการยกเลิกลำดับของคีย์
Peter Mortensen

14

หากคุณกำลังใช้ vi และไม่ต้องการที่จะชำระสำหรับการแก้ไขในตัวคุณจะได้รับเป็นกลุ่มสำหรับ Windows มันจะทำงานจากเชลล์คำสั่ง หรือลองWinVi


ฉันควรทำเครื่องหมายว่าเป็นคำตอบเพราะeditถูกลบออกจากการชนะ 10
ลุค

1
มันดีกว่านั้นมาก: มันยังทำงานในคอนเทนเนอร์ Windows Docker ด้วย (มันง่ายที่สุดในการรับ "Win32 console executable" เช่นvim81w32.zip - unzip และคัดลอกvim.exeไปที่ที่เข้าถึงได้ในคอนเทนเนอร์ Docker)
Peter Mortensen

9

เชื่อหรือไม่ว่าEDLIN.EXEยังคงอยู่<shudder>ในระบบ Vista นี้เป็นอย่างน้อย

ขอโทษฉันในขณะที่ฉันร้องไห้เบา ๆ กับตัวเอง ...


6
ในที่สุดมันก็ถูกลบใน Windows 7 (อย่างน้อยรุ่น 64 บิต)
Paradroid

1
@ jason404: มันยังคงรวมอยู่ใน Windows 7 บิต 32 บิต
Dennis Williamson

2
edlin เป็นโปรแกรม 16 บิตดังนั้นจึงไม่สามารถใช้งานได้ใน Windows รุ่น 64 บิต อย่างไรก็ตามฉันจะไม่แปลกใจหากมีคนที่นี่อ้างว่ายังคงมีอยู่ใน Windows 10 รุ่น 32 บิต
TSJNachos117

1
@ TSJNachos117 มันแน่นอนใน x86 Windows 10
Brian Duddy

ไม่แปลกใจเลย
TSJNachos117

8

ฉันไม่รู้เกี่ยวกับ SSH หรือสิ่งอื่นใด (เกี่ยวข้องกับเซิร์ฟเวอร์) ดังนั้นโปรดยกโทษให้ฉันถ้า "การแก้ปัญหา" นี้ไร้ประโยชน์ หากคุณต้องการที่จะแก้ไขไฟล์ในพร้อมรับคำสั่งคุณจะได้รับ Windows รุ่นของนาโน

^สัญญาณเตือนเล็กน้อยที่ด้านล่างของหน้าต่างควรเป็นCtrlปุ่มแทน ยกตัวอย่างเช่น^X Exitหมายความว่าคุณสามารถออกจากโปรแกรมโดยใช้-CtrlX

นอกจากนี้บางครั้งนาโนจะเพิ่มบรรทัดใหม่พิเศษเมื่อบันทึกไฟล์ นี่น่าจะเป็นข้อผิดพลาดบางอย่างกับการพันคำของ Nano

ฉันเคยเห็นพอร์ทของviสำหรับ Windows ด้วยเช่นกัน แต่ฉันเคยใช้ที่ดูเหมือนว่าจะทำให้หน้าต่างพรอมต์คำสั่งมีขนาดเล็กเท่าที่จะทำได้โดยทิ้งแถบชื่อไว้เท่านั้น (ซึ่งหมายความว่าหน้าต่างที่เหลืออาจมองไม่เห็น เนื่องจากคุณมองไม่เห็นสิ่งที่คุณกำลังทำ) อย่างไรก็ตามVim เวอร์ชัน Windowsดูเหมือนว่าจะทำงานได้ค่อนข้างดี


2
ก่อนที่จะมองหาสิ่งเหล่านั้น "อาจใช้งานได้ แต่เป็นคำตอบที่ไร้ประโยชน์" ฉันคิดว่าเป็นพอร์ต Windows ของนาโน มันใช้ cygwin.dll และไม่มีอะไรเพิ่มเติม ผมเคยล้อมรั้วรุ่นเบาที่สุดที่ฉันสามารถจากnetcologne.dl.sourceforge.net/project/nano/nano/1.0.8/... ขอขอบคุณ.
erm3nda
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.