ลองเว็บไซต์นี้พวกเหล่านี้มีประโยชน์จริงๆ พวกเขามีการพังของสวิทช์ทั้งหมด
http://ss64.com/nt/cmd.html
และไม่ฉันไม่มีความเกี่ยวข้องกับเว็บไซต์นั้นฉันแค่พยายามจะเป็นประโยชน์ พวกเหล่านี้รวมถึงเว็บไซต์ SuperUser.com ช่วยฉันด้วยหลายร้อยครั้ง
CMD.exe
เริ่มเชลล์ CMD ใหม่และ (เป็นทางเลือก) รันคำสั่ง / โปรแกรมที่เรียกทำงานได้
Syntax
CMD [charset] [options]
CMD [charset] [options] [/c Command]
CMD [charset] [options] [/k Command]
Options
/C Run Command and then terminate
/K Run Command and then return to the CMD prompt.
This is useful for testing, to examine variables
Command : The command, program or batch script to be run.
This can even be several commands separated with '&'
(the whole should also be surrounded by "quotes")
/T:fg Sets the foreground/background colours
/X Enable extensions to CMD.EXE
/Y Disable extensions to CMD.EXE
/A Output ANSI characters
/U Output UNICODE characters (UCS-2 le)
These options will affect piping or redirecting to a file.
Most common text files are ANSI, use these switches
when you need to convert the character set.
/D Ignore registry AutoRun commands
HKLM | HKCU \Software\Microsoft\Command Processor\AutoRun
/F:ON Enable auto-completion of pathnames entered at the CMD prompt
/F:OFF Disable auto-completion of pathnames entered at the CMD prompt (default)At the command prompt Ctrl-D gives folder name completion and Ctrl-F gives File and folder name completion.
These key-strokes will display the first matching path. Thereafter, repeated pressing of the same control key will cycle through the list of matching paths. Pressing SHIFT with the control key will move through the list backwards.
/Q Turn echo off
/S Strip quote characters from the command_line
/V:ON Enable delayed environment variable expansion
this allows a FOR loop to specify !variable! instead of %variable%
expanding the variable at execution time instead of at input time.
/V:OFF Disable delayed environment expansion.
Environment expansion preference can be set permanently in the registry
HKLM | HKCU \Software\Microsoft\Command Processor\DelayedExpansion
Set to either 0x1 or 0x0
/knetdiag /debug
/knetdiag /fix
The knetdiag switches are undocumented and work in XP only
they list and (may) fix these networking issues.If /C or /K is specified, then the remainder of the command line is processed as an immediate command in the new shell. Multiple commands separated by the command separator '&' or '&&' are accepted if surrounded by quotes.
ตรรกะต่อไปนี้ใช้เพื่อประมวลผลอักขระอัญประกาศ ("):
- หากตรงตามเงื่อนไขทั้งหมดต่อไปนี้เครื่องหมายคำพูดบนบรรทัดคำสั่งจะถูกเก็บรักษาไว้:
- สวิตช์ไม่ / S (เครื่องหมายคำพูด)
- เครื่องหมายคำพูดสองตัว
- ไม่มีอักขระพิเศษระหว่างอักขระเครื่องหมายคำพูดสองตัวโดยที่พิเศษคือหนึ่งใน: & amp; & lt; & gt; () @ ^ |
- มีอักขระช่องว่างอย่างน้อยหนึ่งตัวระหว่างอักขระเครื่องหมายคำพูดสองตัว
- สตริงระหว่างอักขระเครื่องหมายคำพูดสองตัวคือชื่อของไฟล์เรียกทำงาน
- มิฉะนั้นพฤติกรรมเก่าคือการดูว่าอักขระตัวแรกเป็นอักขระเครื่องหมายคำพูดหรือไม่ถ้าใช่ให้ดึงอักขระนำหน้าออกแล้วลบอักขระเครื่องหมายคำพูดสุดท้ายบนบรรทัดคำสั่งโดยคงข้อความใด ๆ ในการลบลักษณะการทำงานนี้ให้ใช้อัญประกาศคู่ "" ที่จุดเริ่มต้นและจุดสิ้นสุดของบรรทัดคำสั่ง
เต็มจอ
คีย์ผสม ALT + ENTER จะสลับหน้าต่าง CMD เป็นโหมดเต็มหน้าจอ
กด ALT + ENTER อีกครั้งเพื่อกลับสู่หน้าต่างปกติ
Command.com vs CMD.exe
คำสั่งทั้งหมดในหน้าเหล่านี้สมมติว่าคุณกำลังเรียกใช้บรรทัดคำสั่ง 32 บิตหรือ 64 บิต (cmd.exe)
ตัวประมวลผลคำสั่งเก่า 16 บิต command.com ถูกจัดทำขึ้นเพื่อให้เข้ากันได้แบบย้อนหลังสำหรับแอปพลิเคชัน 16 บิต DOS Command.com มีฟังก์ชันการทำงานที่ จำกัด มากเมื่อเทียบกับ cmd.exe เช่น มันจะล้มเหลวในการตั้งค่า% errorlevel% หลังจากหลายคำสั่ง
หากคุณตั้งชื่อสคริปต์แบทช์ของคุณด้วย. CMD แทนที่จะเป็น. BATAT พวกเขาจะไม่ทำงานภายใต้ command.com แม้ว่าคัดลอกไปยังเครื่อง Windows 95
ตัวแปรสภาพแวดล้อม% COMSPEC% จะปรากฏขึ้นหากคุณกำลังใช้งาน CMD.EXE หรือ command.com
ความแตกต่างที่สำคัญอย่างหนึ่งระหว่างสคริปต์. CMD และ. BAT (ทำงานภายใต้ CMD.EXE) คือเมื่อเปิดใช้งานส่วนขยายคำสั่งเช่น PATH / APPEND / PROMPT / SET / ASSOC จะรีเซ็ต ERRORLEVEL เป็น 0 หากพวกเขาประสบความสำเร็จ ในไฟล์. BAT แบบเก่า ERRORLEVEL จะไม่เปลี่ยนแปลงเว้นแต่จะมีข้อผิดพลาดใหม่ (แหล่งที่มา)
บน Windows รุ่น 64 บิต CMD.exe 32 บิตสามารถพบได้ที่% windir% \ SysWoW64 \ cmd.exe เพื่อลดปัญหาความเข้ากันได้ระบบย่อย WOW64 แยกไบนารี 32- บิตจากไบนารี 64 บิตโดยเปลี่ยนเส้นทางการโทรรีจิสทรีและบางส่วน การเรียกระบบไฟล์
เปิด CMD จาก Windows Explorer
คุณสามารถเปิดพรอมต์ CMD ใหม่ได้โดยเลือก START, RUN, cmd, OK
คีย์รีจิสทรี:
อนุญาตเส้นทาง UNC ที่พร้อมท์คำสั่ง
[ตัวประมวลผล HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Command]
"DisableUNCCheck" = DWORD: 00000001
; เรียกใช้คำสั่งเมื่อ CMD.exe เริ่มทำงาน
[ตัวประมวลผล HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Command]
"การทำงานอัตโนมัติ" = -
; เปิดใช้งานการทำให้สมบูรณ์อัตโนมัติ
[ตัวประมวลผล HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Command]
"CompletionChar" = 0x9
; สำหรับ Windows 7: เพิ่มตัวเลือก 'Open CMD prompt ที่นี่ (Admin)' ตัวเลือกไปที่
; เมนูบริบทสำหรับโฟลเดอร์ระบบไฟล์:
[HKEY_CLASSES_ROOT \ Directory \ shell \ runas] @ = "เปิดพร้อมท์ CMD ที่นี่ (ผู้ดูแลระบบ)"
[HKEY_CLASSES_ROOT \ ไดเรกทอรี \ shell \ runas \ คำสั่ง]
@ = "cmd.exe / k pushd% L"
; สำหรับ Windows 7: เพิ่มตัวเลือก 'Open CMD prompt ที่นี่ (Admin)' ตัวเลือกไปที่
; เมนูบริบทคอมพิวเตอร์ของฉัน:
[HKEY_CLASSES_ROOT \ CLSID {20D04FE0-3AEA-1069-A2D8-08002B30309D} \ shell \ runas]
@ = "เปิดพรอมต์ CMD ที่นี่ (ผู้ดูแลระบบ)"
[HKEY_CLASSES_ROOT \ CLSID {20D04FE0-3AEA-1069-A2D8-08002B30309D} \ shell \ runas \ คำสั่ง]
@ = "cmd.exe" ประวัติคำสั่งก่อนหน้า
การกดลูกศรขึ้นจะแสดงรายการคำสั่งก่อนหน้านี้ที่ป้อนที่พร้อมท์คำสั่ง
ปุ่มฟังก์ชั่นอื่น ๆ ของ DOSKEY ถูกโหลดตามค่าเริ่มต้น (F7, F8, F9)
คัดลอกและวาง / QuickEdit
ในการทำให้การใช้การตัดและวางที่ Command Prompt ง่ายขึ้นให้เปิดใช้งานโหมด QuickEdit ดังนี้:
เปิดใช้งานเมนูควบคุมที่ด้านบนซ้ายของหน้าต่าง cmd ปัจจุบันไปที่คุณสมบัติแท็บตัวเลือกแล้วติ๊กกับโหมด QuickEdit ตอนนี้คุณสามารถเลือกข้อความด้วยเมาส์แล้วกด Enter (หรือคลิกขวา) เพื่อคัดลอกไปยังคลิปบอร์ด วางที่ใดก็ได้โดยใช้ Control + V (หรือคลิกขวา) หรือผ่านเมนู
ESC จะยกเลิกการเลือกใด ๆ และกลับสู่โหมดแก้ไข
เมื่อคัดลอกระหว่างหน้าต่างคุณอาจต้องคลิกหนึ่งครั้งเพื่อเลือกหน้าต่างและคลิกสองครั้งเพื่อวาง
เรียกใช้ CMD.exe หลายอินสแตนซ์
ที่บรรทัดคำสั่งหรือในชุดสคริปต์ CMD จะเริ่มต้นอินสแตนซ์ใหม่ของ CMD.exe ซึ่งจะปรากฏในหน้าต่างเดียวกัน คำสั่ง EXIT จะปิดอินสแตนซ์ CMD ที่สองและกลับไปที่เชลล์ก่อนหน้า
วิธีการเรียกสคริปต์ Batch หนึ่งจากอีกสคริปต์หนึ่งคือการเรียกใช้คำสั่งเช่น CMD / c C: \ docs \ myscript.cmd
เอาต์พุตของ CMD สามารถเปลี่ยนเส้นทางไปยังไฟล์ข้อความ ขอให้สังเกตว่าในกรณีที่ใช้ CMD / c คำสั่ง EXIT ไม่จำเป็น
ตัวแปรสภาพแวดล้อม% CMDCMDLINE% จะขยายเข้าไปในบรรทัดคำสั่งดั้งเดิมที่ส่งไปยัง CMD.EXE
CMD.exe รุ่นเนทิฟอยู่ใน% windir% \ system32 เสมอบนระบบปฏิบัติการ 64 บิตนอกจากนี้ยังมี CMD.exe 32 บิตใน% windir% \ SysWOW64
หยุดชั่วคราวหรือหยุดสคริปต์ชุดงาน
การดำเนินการของแบตช์สคริปต์ใด ๆ สามารถหยุดชั่วคราวโดยกด CTRL-S
นอกจากนี้ยังใช้สำหรับหยุดคำสั่งเดียวเช่นรายการ DIR
กดปุ่มใด ๆ จะกลับมาดำเนินการต่อ
การดำเนินการของสคริปต์ชุดใด ๆ สามารถหยุดได้โดยกด CTRL-C
หากไฟล์แบตช์หนึ่งถูกเรียกไฟล์แบตช์อื่น CTRL-C จะออกจากทั้งสองชุดสคริปต์
หากใช้ CMD / c เพื่อเรียกไฟล์แบตช์หนึ่งจากอีกไฟล์หนึ่ง CTRL-C จะทำให้แบทช์สคริปต์หนึ่งเดียวสิ้นสุดลง (ดูเพิ่มเติมที่ EXIT)
คำสั่งยาวและชื่อไฟล์แบบยาว
ภายใต้ Windows XP บรรทัดคำสั่ง CMD จำกัด ไว้ที่ 8,191 ตัวอักษร
สำหรับ Windows ทุกรุ่น NTFS และ FAT อนุญาตให้ใช้ชื่อพา ธ ได้สูงสุด 260 ตัวอักษร
วิธีแก้ปัญหาสำหรับความยาวชื่อพา ธ ที่ จำกัด คือการใส่คำนำหน้า \? \
ตัวอย่างเช่น:
\ \ C: \ Temp \ Long_Directory \ Long_Filename.txt
errorlevel
CMD / C จะส่งคืนระดับข้อผิดพลาดตัวอย่างเช่น CMD / c dir Z: โดยที่ไม่มีไดรฟ์ Z: จะส่งกลับ% errorlevel% = 1 ไปยังเชลล์ CMD ที่เรียกใช้
ส่วนขยายคำสั่ง
ฟังก์ชันการทำงานส่วนใหญ่ของ CMD.exe สามารถปิดใช้งานได้ซึ่งจะมีผลกับคำสั่งภายในทั้งหมดส่วนขยายคำสั่งจะถูกเปิดใช้งานตามค่าเริ่มต้น สิ่งนี้ถูกควบคุมโดยการตั้งค่าในรีจิสตรี: ตัวประมวลผล \ EnableExtensions HKCU \ Software \ Microsoft \ Command หรือภายใต้ Win XP คุณสามารถเรียกใช้ CMD / e: เปิดหรือ CMD / e: off
ตัวอย่าง:
เรียกใช้โปรแกรมและส่งผ่านพารามิเตอร์ชื่อไฟล์:
CMD / c write.exe c: \ docs \ sample.txt
เรียกใช้โปรแกรมและผ่านชื่อไฟล์แบบยาว:
CMD / c write.exe "c: \ sample documents \ sample.txt"
ช่องว่างในเส้นทางโปรแกรม:
CMD / c "" Office \ Office \ Winword.exe Files \ Microsoft Files \ Microsoft c "โปรแกรม
ช่องว่างในพารามิเตอร์เส้นทางของโปรแกรม +:
CMD / c "" c: \ Program Files \ demo.cmd "" พารามิเตอร์ 1 Param2
ช่องว่างในพารามิเตอร์ Program Path + พร้อมช่องว่าง:
CMD / k "" c: \ batch files \ demo.cmd "" พารามิเตอร์ 1 พร้อมช่องว่าง "" พารามิเตอร์ 2 พร้อมช่องว่าง ""
เรียกใช้การสาธิต 1 จากนั้นเรียกใช้การสาธิต 2:
CMD / c "" c: \ Program Files \ demo1.cmd "& amp;" c: \ Program Files \ demo2.cmd ""
“ ผู้ที่สามารถควบคุมตนเองสั่งผู้อื่นได้” - Hazlitt
ที่เกี่ยวข้อง:
EXIT - ใช้สิ่งนี้เพื่อปิดเชลล์ CMD และย้อนกลับ
CALL - เรียกโปรแกรมแบทช์หนึ่งจากอีกโปรแกรมหนึ่ง
START - รันโปรแกรมคำสั่งหรือไฟล์แบตช์
DOSKEY แก้ไขบรรทัดคำสั่งจำคำสั่ง
Q156276 - Cmd ไม่สนับสนุนชื่อ UNC เป็นไดเรกทอรีปัจจุบัน
Powershell: คุณสามารถเรียกใช้เชลล์ CMD ภายใต้ Powershell, Exit จะส่งคุณกลับไปที่พรอมต์ PS
คำสั่ง bash เทียบเท่า (Linux): bash - รันเชลล์ bash (เช่น csh, ksh, sh)
"cd %1 & title %1"
?