thaiall logomy background

คำสั่งภายใน และภายนอกของดอส

my town
Digital logic | OS | คำสั่งดอส | Batch | Debug | Assembly | GWBasic | Docker |
อส (Disk Operating System = DOS) คือ ระบบปฏิบัติการที่เริ่มทำงานโดยใช้แผ่นดิสก์ (Disk) เพื่อจัดการเครื่องคอมพิวเตอร์ให้มีสภาพแวดล้อมที่พร้อมรับการติดต่อจากผู้ใช้ ซึ่งมีแฟ้มสำคัญที่ทำให้เครื่องคอมพิวเตอร์ทำงานได้ อาทิ io.sys, msdos.sys และ command.com เป็นต้น
คำสั่งภายใน (Internal Command) คือ คำสั่งที่ไม่มีแฟ้มคำสั่งอยู่ในเครื่องคอมพิวเตอร์สำหรับแต่ละคำสั่ง แต่ทั้งหมดอยู่ในแฟ้ม cmd.com หรือ command.com เมื่อเรียกใช้งานก็จะค้นหาในหน่วยความจำ ซึ่งเคยถูกโหลดเข้าไปจากแฟ้ม cmd.com แล้ว เพื่อพร้อมประมวลผล เช่น dir, copy, ren cd, md และ rd เป็นต้น จะไม่พบแฟ้มโปรแกรมเหล่านี้ในระบบ directory
คำสั่งภายนอก (External Command) คือ คำสั่งที่ต้องมีแฟ้มคำสั่งอยู่ในเครื่องคอมพิวเตอร์ เมื่อเรียกใช้งานก็จะค้นหาในเครื่อง แล้วนำเข้าหน่วยความจำ เพื่อประมวลผล เช่น chkdsk, format, diskcopy, xcopy, tasklist และ taskkill เป็นต้น แฟ้มคำสั่งเหล่านี้พบได้ในห้อง c:\windows\system32
ตัวอย่างการใช้คำสั่ง
start, run, cmd
C:\> cd \
C:\> set
C:\> ipconfig
C:\> netstat -a
C:\> ping www.bit.ly -t
C:\> explorer x.htm
C:\> exit

การใช้งานตัวแปรของระบบ
แหล่งบริการ emulator ใช้งาน Command line บน Browser

jamesfriend.com.au

bellard.org

dosbox.com
มีบริการให้ใช้งาน shell ของ DOS และ Linux ผ่าน browser โดยใช้ javascript เป็นตัวพัฒนา เหมาะกับผู้ที่ต้องการเรียนรู้ และทดสอบคำสั่งพื้นฐาน 1) ถ้าต้องการใช้ DOS shell หรือ command line ผ่าน online emulator เข้าใช้ที่ jamesfriend.com.au 2) ถ้าต้องการใช้ Linux shell ผ่าน online emulator เข้าใช้ที่ bellard.org มีตัวอย่างคำสั่ง linux ที่ /isinthai 3) ถ้าจะ DOS Shell บน windows ก็จะมี DOSBOX เป็น x86 emulator Downoad : dosbox.com แล้วก็ติดตั้ง ผมเคยเขียนตัวอย่างการใช้งาน DOSBOX ที่ thaiall.com
copy's home
ที่เว็บไซต์ copy.sh ภายใต้หัวข้อ Virtual x86 (Run KolibriOS, Linux or Windows 98 in your browser.) มี emulator ให้เรียกใช้จำนวนมาก ที่มาพร้อมกับการเปิดให้ได้ Setup ในระดับหนึ่ง นอกจาก MS-DOS 6.22 ที่มาพร้อมเกม Tetris, Snake หรือ Invaders ที่ประมวลผลได้แล้ว ยังมีระบบปฏิบัติการให้ใช้งานอีกมาก เช่น Windows 1.01, 3.1, 95, 98 2000 หรือ Linux อีกหลายรุ่น สามารถเข้าไปย้อนอดีต เพื่อนนำมาพัฒนาโปรแกรมในปัจจุบันกันได้ครับ
cmd.exe
CMD.EXE
คือ โปรแกรมสำหรับรองรับการแปลความหมายคำสั่งบนระบบปฏิบัติการ Windows ผ่าน Command Prompt ทำงานในแบบ Command Interpreter เหมือน Unix Shell หรือ Linux Shell เป็นส่วนหนึ่งของระบบปฏิบัติการ (Operating System) คอยรับคำสั่งจากผู้ใช้ เมื่อสั่งผ่านแป้นพิมพ์ (Keyboard) มิได้ทำงานผ่าน GUI (Graphical User Interface) ที่ใช้ Mouse Click เพื่อสั่งงาน ซึ่งต่อมาไมโครซอฟต์ได้พัฒนา Power shell ที่ทำงานคล้ายกัน แต่รองรับคำสั่งได้มากกว่า เข้าแก้ไขข้อกำหนด (Configuration) ของระบบปฏิบัติการได้ และรองรับโหมด Administrator ในบทบาทผู้ดูแลระบบได้
ในอดีตเคยมีคำสั่ง Command.com ที่ทำงานคล้ายกัน แต่รองรับถึง Windows ME
wiki .. CMD.EXE ทำงานบน Windows NT ขึ้นไป
wiki .. List_of_DOS_commands
วนมองคำสั่งภายใน และภายนอก ดังนี้ 1) ATTRIB 2) CD and CHDIR * 3) CLS * 4) CMD or COMMAND 5) COPY * / XCOPY 6) DATE * 7) DEL * 8) DIR * 9) DISKCOPY 10) DOSKEY 11) ECHO * 12) FINDSTR 13) FORMAT 14) HELP 15) IPCONFIG 16) LABEL 17) MD or MKDIR * 18) MORE 19) PATH * 20) PING 21) POWERSHELL 22) RD or RMDIR * 23) REN * 24) SET * 25) SHUTDOWN 26) SORT 27) SYSTEMINFO 28) TASKLIST / TASKKILL 29) TIME * 30) TRACERT 31) TREE 32) TYPE * Internal command 1) DIR * 2) COPY * / XCOPY 3) DEL * 4) REN * 5) TYPE * 6) ECHO * 7) CD and CHDIR * 8) MD or MKDIR * 9) RD or RMDIR * 10) PATH * 11) SET * 12) DATE * 13) TIME * External command 14) CMD or COMMAND 15) POWERSHELL 16) HELP 17) ATTRIB 18) MORE 19) IPCONFIG 20) PING 21) TRACERT 22) TASKLIST / TASKKILL 23) FINDSTR 24) TREE 25) SORT 26) SYSTEMINFO 27) FORMAT 28) DISKCOPY 29) DOSKEY 30) LABEL 31) SHUTDOWN
PowerShell
PowerShell
คือ Command interpreter หรือ Command Shell แบบใหม่จาก Microsoft เหมือน Unix Shell ที่รองรับ Scripting Language และ .NET Framework แล้วยังสามารถเข้าถึง COM และ WMI บนระบบปฏิบัติการ Windows ได้โดยตรง ดังนั้นผู้ดูแลระบบสามารถสั่งงานได้มากกว่า DOS Command แบบเดิม ซึ่งมีรูปแบบคำสั่งสำเร็จรูปที่เรียกว่า cmdlets (Command-Let) เริ่มพัฒนาและเปิดใช้ Version 1.0 เมื่อพฤศจิกายน 2006
ตัวอย่างการใช้คำสั่ง
C:\> powershell ใช้สั่งเปิด Powershell ใน DOS Command
PS C:\> $PSversiontable ใช้แสดงรุ่นของ Powershell
PS C:\> get-command ใช้ดูว่าทำอะไรได้บ้าง
PS C:\> get-service ใช้ดูว่ามีบริการอะไร running หรือ stopped
PS C:\> get-service | Where-Object {$_.Status –eq "Running"} ใช้แสดงบริการที่เปิดอยู่
PS C:\> get-help get ใช้ดูว่ามี get อะไรให้ใช้บ้าง
PS C:\> get-help get-help ใช้ดูว่า get-help ใช้อย่างไร
Script บน Powershell ก็จะมี extension เป็น .ps1 เช่น x.ps1 ต่างกับ DOS Command แบบเดิมที่มีเพียง Batch file เช่น x.bat บางคำสั่งที่ใช้ใน DOS Command อาจใช้ไม่ได้ใน Powershell เช่น copy con เป็นต้น แต่ต้องสั่งอนุญาตให้เรียกใช้ PS Script ก่อน
PS C:\> Set-ExecutionPolicy RemoteSigned
PS C:\> echo "dir">x.ps1 (12 bytes เป็นแฟ้มแบบ unicode หรือ utf-16)
PS C:\> .\x.ps1 (ต้นแฟ้มคือ FF FE ตัวอักษร 5 * 2 รวม 12 bytes)
PS C:\> c:\x.ps1 (มีรหัสตัดบรรทัด 0D กับ 0A เพิ่มเข้ามา)
Onlinehexeditor.com : FF FE 64 00 69 00 72 00 0D 00 0A 00 (upload)
Unicode แฟ้มที่มี ก จะมี 4 bytes : FF FE 01 0E (0E 01 = 3585)
ก ใน UTF-16 คือ 0E01
wiki .. PowerShell
stackify.com .. what-are-powershell-commands/
guru99.com/powershell-tutorial.html
Powershell online interpreter https://tio.run/#powershell
กลุ่ม 1. เกี่ยวกับ Disk และ File #
dir
แสดงรายชื่อแฟ้ม รายชื่อไดเรกทรอรี่ (File Listing in Directory)
C:\> dir /?
C:\> dir c:\windows /s
rename
เปลี่ยนชื่อแฟ้ม
C:\> ren a.com b.com
copy
คัดลอกแฟ้ม
C:\> copy a.com b.com
C:\> copy con a.bat
C:\> echo a>a
C:\> echo b>b
C:\> copy a + b c
xcopy
คัดลอกไดเรกทรอรี่ (Directory Copy)
C:\> xcopy c:\windows c:\win
diskcopy
คัดลอกดิสก์จากแผ่นหนึ่งไปอีกแผ่นหนึ่ง (not include in win10)
C:\> diskcopy a: b:
chkdsk
เช็คดิสก์ และซ่อมส่วนที่เสียหาย (Fix error)
C:\> chkdsk c:
C:\> chkdsk c: /f
attrib
จัดการเกี่ยวกับ Attibute ของแฟ้ม
C:\> attrib
C:\> attrib +h +r +s startdrv.exe
label
เปลี่ยนลาเบล (Label) ของฮาร์ดดิสก์ (Harddisk)
C:\> label c:\
del
ลบแฟ้ม (Delete)
C:\> del x.txt
C:\> del *.bat
C:\> del *.tmp /F Force deleting of read-only files
C:\> del *.tmp /S Delete specified files from all subdirectories
findstr
ค้นข้อความในแฟ้ม (สามารถใช้ *.htm ได้)
C:\> findstr thai main.bat ค้นหาคำว่า thai ในแฟ้ม main.bat แล้วแสดงบรรทัดที่พบ
C:\> findstr /s "thailand yonok" *.htm ค้นหาคำว่า thailand หรือ yonok ทุกแฟ้มที่ลงท้ายด้วย htm
index.htm:<b>thailand</b> aboutme.htm:<u>yonok</u> นี่คือบรรทัดผลลัพธ์
กลุ่ม 2. เกี่ยวกับ Directory Structure !
cd
เปลี่ยนไดเรกทรอรี่ (Directory Changing)
C:\> cd c:\windows
C:\> cd \
md
สร้างไดเรกทรอรี่ (Directory Makeing)
C:\> md c:\win
C:\> mkdir c:\win
rd
ลบไดเรกทรอรี่ (Directory Removing)
C:\> rd c:\win
C:\> rmdir c:\tom /S Removes all directories and files in the specified directory
tree
แสดงโครงสร้างไดเรกทรอรี่ (Tree of Directory)
C:\> tree
C:\> tree c:\windows
path
กำหนดเส้นทาง
C:\> path
C:\> path = %path%;c:\windows
กลุ่ม 3. เกี่ยวกับ Batch Processing
call
เรียกใช้ batch file จากใน batch file
C:\> echo dir *.bat>dodir.bat
C:\> echo echo hello>main.bat
C:\> echo call dodir.bat>>main.bat หากไม่ใช้ call ก็จะไม่กลับเข้า main.bat อีก
C:\> echo echo bye>>main.bat
C:\> echo pause>>main.bat
C:\> main.bat ออกไปทำงานนอก main.bat แล้วกับมาทำต่อ
echo
แสดงข้อความ
C:\> echo a
C:\> echo a>b
C:\> echo echo hello>hello.bat
if
เลือกทำตามเงื่อนไข
C:\> echo if .%1 == .one echo 1 > z.bat
C:\> echo if .%1 == .two echo 2 >> z.bat
C:\> z one
C:\> z two
goto
ไปยังลาเบล (Label)
C:\> :a
C:\> goto a
rem
หมายเหตุ
C:\> rem create june 12,2008
C:\>
pause
หยุดรอ
C:\> pause
C:\>
for
ทำซ้ำ
C:\> for %i in (1,1,5) do (echo %i) ทำซ้ำ 3 รอบ คือ 1,1,5
C:\> for /l %i in (1,1,5) do (echo %i) ทำซ้ำ 5 รอบ คือ 1,2,3,4,5
C:\> for /l %i in (1,2,10) do (echo %i) ทำซ้ำ 5 รอบ คือ 1,3,5,7,9
C:\> echo for %%x in (aa bb cc) do echo %%x > burin.bat
C:\> burin.bat
shift
เลื่อนสำหรับ %0 ถึง %9
C:\> x.bat a b c
@echo off
echo %0
shift
echo %0
start
สั่งเปิดโปรแกรม หรือ batch file ในหน้าต่างใหม่
C:\> dir
C:\> start open another window
C:\> start dir separate window to run program
กลุ่ม 4. ทั่วไป (General)
date
ตั้งวันที่ หรือแสดงวันที่ปัจจุบัน
C:\> date 12-31-2008
C:\>set yyyymmdd=%date:~10,4%%date:~4,2%%date:~7,2%
C:\>echo %yyyymmdd%
20081231
time
ตั้งเวลา หรือแสดงเวลาปัจจุบัน
C:\> time 12:12:12
prompt
ตั้งเครื่องหมาย prompt ใหม่ มีค่าปริยาย คือ $p$g
C:\> prompt
C:\> prompt $p ต.ย. c:\windows
C:\> prompt $g ต.ย. >
C:\> prompt $p $t $g ต.ย. c:\windows 20:15:30.99 >
cls
ลบจอภาพ
C:\> cls
type
แสดงข้อมูลในแฟ้มข้อความ (Text File)
C:\> type x.bat
set
กำหนดตัวแปร
C:\> set a=c:\x.bat
C:\> echo %x%
ver
แสดงเลขรุ่นของระบบปฏิบัติการ
C:\> ver
Microsoft Windows XP [Version 5.1.2600]
shutdown
สั่งปิด หรือรีสตาร์ทเครื่องคอมพิวเตอร์
C:\> shutdown /? แสดงรายการ parameter ที่ใช้งานได้
C:\> shutdown /s /t 180 /c "shutdown in 3 minutes" ปิดเครื่องในสามนาที
C:\> shutdown /a ยกเลิกการสั่งปิดเครื่องก่อนหน้านี้ ก่อนถึงเวลาที่กำหนด
กลุ่ม 5. เครือข่าย (Network) #
ping
การทดสอบรับส่งข้อมูลระหว่าง Client กับ Server ยิ่ง Response Time มาก แสดงว่าตอบสนองช้า
C:\> ping www.google.com
C:\> FOR /L %i IN (1,1,254)
DO ping -n 1 172.60.0.%i |
FIND /i "Reply">>c:\replycomputer.txt
tracert
แสดงการติดตามเส้นทาง (Trace route) เป็นหมายเลขของเราเตอร์ (router) ในทุกการกระโดดระหว่างอุปกรณ์ และเวลาตอบสนอง #
C:\> tracert www.ais.co.th (9 hops)
C:\> tracert www.lampang.go.th (12 hops)
ipconfig
แสดงหมายเลข IP, DNS และ Gateway ของ Network Card ทั้งหมด
C:\> ipconfig | findstr IPv4
netstat
แสดงสถานะการเชื่อมต่อ และพอร์ทที่เปิดรอรับการเชื่อมต่อ
C:\> netstat -na
C:\> netstat -na | findstr :80
ftp
การเชื่อมต่อเพื่อรับส่งแฟ้ม (File Transfer Protocol) #
C:\> ftp ftp.nectec.or.th
nslookup
ตอบกลับเป็นหมายเลขไอพี หรือชื่อเครื่องตามที่สอบถามด้วยข้อมูลที่ส่งไป #
C:\> nslookup www.nectec.or.th
C:\> nslookup 203.185.132.65
อ่านเพิ่มเติม
การจัดการแฟ้มข้อมูล มีเครื่องมือหลากหลายตามลักษณะงาน มื่อมีแฟ้มเอกสารจำนวนหลายพันหน้า แบบ PDF ในหนึ่งแฟ้ม แล้วต้องการแบ่งแต่ละหน้า แจกให้ผู้ใช้แต่ละคน ก็ต้องสั่ง Split แยกแฟ้มออกเป็นเฉพาะหน้า แล้วเปลี่ยนชื่อเป็น running number เชื่อมตามรหัสประจำตัว สามารถทำได้หลายวิธี เช่น ใช้ Microsoft Excel มาช่วยจัดลำดับข้อมูล แล้วสร้างลิงค์เอกสารไปยังเอกสารปลายทางเฉพาะบุคคล หรือสร้าง ระบบสืบค้นตามชื่อ ก็เป็นทางเลือกที่น่าสนใจ ซึ่งเป็นสมรรถนะของวิทยากร หรือผู้ทรงคุณวุฒิที่ทำงานในลักษณะนี้เป็นประจำจะต้องเข้าใจขั้นตอน และกำหนดแนวทางขึ้นมา เพื่อให้ผู้เข้ารับการอบรมสามารถ Access ใบรับรองของตนเอง ได้โดยง่าย
รายการแฟ้ม *.com ใน c:\windows\system32
- Website : easydos.com มีคำอธิบายคำสั่ง DOS และ e-book
- Simulation : PC DOS 5 : Wolf3D + CIV + Monkey
- Simulation : Windows 3.0
- View code : Windows XP 663 MB by Mawtoload.com
- Simulation : Windows XP (RAM : just desktop)
Directory of C:\WINDOWS\system32
04/15/2008  02:00 AM   7,680 chcp.com
04/15/2008  02:00 AM  50,620 command.com
04/15/2008  02:00 AM   9,216 diskcomp.com
04/15/2008  02:00 AM   7,168 diskcopy.com
04/15/2008  02:00 AM  69,886 edit.com *
04/15/2008  02:00 AM  29,696 format.com
04/15/2008  02:00 AM  26,112 graftabl.com
04/15/2008  02:00 AM  19,694 graphics.com
04/15/2008  02:00 AM  14,710 kb16.com
04/15/2008  02:00 AM   1,131 loadfix.com
04/15/2008  02:00 AM  19,456 mode.com
04/15/2008  02:00 AM  16,896 more.com
04/15/2008  02:00 AM  12,800 tree.com *
04/15/2008  02:00 AM  18,432 win.com
         14 File(s)        303,497 bytes
ความแตกต่างของ .com และ .exe
แฟ้มที่มีสกุลเป็น .com (file extension) จะมีเนื้อหาที่เข้ารหัสแบบไบนารีเก็บได้ 64 KB มักเป็นแฟ้มในกลุ่มของของระบบปฏิบัติ ที่ไม่มีส่วนของ meta data แนบมากับส่วนหัวของแฟ้ม ซึ่งปัจจุบันไม่ได้รับความนิยมแล้ว ต่างกับแฟ้มที่มีสกุลเป็น .exe ที่จะมี meta data ที่ส่วนหัวของแฟ้ม และขนาดก็จะเล็กหรือใหญ่ตามข้อกำหนดของระบบปฏิบัติ ตั้งแต่ไม่กี่ร้อยไบท์ ไปถึงหลายร้อยเมกะไบท์ และมีแนวโน้มที่จะใหญ่ขึ้น ตามเทคโนโลยีที่พัฒนาอย่างต่อเนื่อง
รายการแฟ้ม *.exe ใน c:\windows\system32
Directory of C:\WINDOWS\system32
04/15/2008  02:00 AM    184,320 accwiz.exe
07/06/2005  03:43 PM    155,648 ACEngSvr.exe
01/03/2017  07:16 AM     45,056 acovcnt.exe
04/15/2008  02:00 AM      4,096 actmovie.exe
08/23/2007  07:23 PM     13,312 agrsmsvc.exe
04/15/2008  02:00 AM     98,304 ahui.exe
04/15/2008  02:00 AM     44,544 alg.exe
04/15/2008  02:00 AM     12,498 append.exe
04/15/2008  02:00 AM     19,456 arp.exe
04/15/2008  02:00 AM     30,208 asr_fmt.exe
04/15/2008  02:00 AM     32,256 asr_ldm.exe
04/15/2008  02:00 AM     32,768 asr_pfu.exe
04/15/2008  02:00 AM     25,088 at.exe
04/15/2008  02:00 AM     11,264 atmadm.exe
04/15/2008  02:00 AM     12,288 attrib.exe *
04/15/2008  02:00 AM     14,336 auditusr.exe
04/15/2008  02:00 AM    588,800 autochk.exe
04/15/2008  02:00 AM    602,624 autoconv.exe
04/15/2008  02:00 AM    580,608 autofmt.exe
04/15/2008  02:00 AM     11,264 autolfn.exe
04/15/2008  02:00 AM     71,680 blastcln.exe
04/15/2008  02:00 AM    142,848 bootcfg.exe
04/15/2008  02:00 AM      4,608 bootok.exe
04/15/2008  02:00 AM      5,120 bootvrfy.exe
04/15/2008  02:00 AM     19,968 cacls.exe
04/15/2008  02:00 AM    114,688 calc.exe *
04/15/2008  02:00 AM     80,384 charmap.exe
04/15/2008  02:00 AM     11,776 chkdsk.exe
04/15/2008  02:00 AM     11,264 chkntfs.exe
04/15/2008  02:00 AM      8,192 cidaemon.exe
04/15/2008  02:00 AM     56,832 cipher.exe
04/15/2008  02:00 AM      5,632 cisvc.exe
04/15/2008  02:00 AM      7,680 ckcnv.exe
04/15/2008  02:00 AM     64,000 cleanmgr.exe
04/15/2008  02:00 AM     20,480 cliconfg.exe
04/15/2008  02:00 AM    102,912 clipbrd.exe
04/15/2008  02:00 AM     33,280 clipsrv.exe
04/15/2008  02:00 AM    389,120 cmd.exe *
04/15/2008  02:00 AM     25,600 cmdl32.exe
04/15/2008  02:00 AM     39,936 cmmon32.exe
04/15/2008  02:00 AM     63,488 cmstp.exe
04/15/2008  02:00 AM     15,872 comp.exe
04/15/2008  02:00 AM     17,408 compact.exe
04/15/2008  02:00 AM     27,648 conime.exe
04/15/2008  02:00 AM      8,192 control.exe
04/15/2008  02:00 AM     13,824 convert.exe
08/24/2001  03:00 AM     56,320 convlog.exe
11/06/2009  03:53 AM    135,168 cscript.exe
04/15/2008  02:00 AM      6,144 csrss.exe
04/15/2008  02:00 AM     15,360 ctfmon.exe
04/15/2008  02:00 AM      6,144 dcomcnfg.exe
04/15/2008  02:00 AM     30,208 ddeshare.exe
04/15/2008  02:00 AM     20,634 debug.exe *
04/15/2008  02:00 AM     25,088 defrag.exe *
04/15/2008  02:00 AM     82,944 dfrgfat.exe
04/15/2008  02:00 AM    105,472 dfrgntfs.exe
04/15/2008  02:00 AM     87,040 diantz.exe
04/15/2008  02:00 AM    163,840 diskpart.exe
04/15/2008  02:00 AM     17,920 diskperf.exe
04/15/2008  02:00 AM      5,120 dllhost.exe
04/15/2008  02:00 AM      4,608 dllhst3g.exe
04/15/2008  02:00 AM    224,768 dmadmin.exe
04/15/2008  02:00 AM     15,872 dmremote.exe
04/15/2008  02:00 AM     10,752 doskey.exe *
04/15/2008  02:00 AM     53,840 dosx.exe
04/15/2008  02:00 AM     29,696 dplaysvr.exe
04/15/2008  02:00 AM     17,920 dpnsvr.exe
04/15/2008  02:00 AM     83,456 dpvsetup.exe
04/15/2008  02:00 AM 62,976 driverquery.exe
11/06/2009  04:34 AM    249,856 drmupgds.exe
11/03/2011  11:41 AM     69,904 drvins64.exe
04/15/2008  02:00 AM     28,112 drwatson.exe
04/15/2008  02:00 AM     45,568 drwtsn32.exe
04/15/2008  02:00 AM     10,752 dumprep.exe
12/27/2009  10:15 PM     55,296 dvdplay.exe
04/15/2008  02:00 AM     17,920 dvdupgrd.exe
04/15/2008  02:00 AM    180,224 dwwin.exe
04/15/2008  02:00 AM  1,298,432 dxdiag.exe
04/15/2008  02:00 AM     12,642 edlin.exe
04/15/2008  02:00 AM     39,424 esentutl.exe
04/15/2008  02:00 AM    193,024 eudcedit.exe
04/15/2008  02:00 AM 50,688 eventcreate.exe
04/15/2008  02:00 AM 82,944 eventtriggers.exe
04/15/2008  02:00 AM      8,704 eventvwr.exe
04/15/2008  02:00 AM      8,424 exe2bin.exe
04/15/2008  02:00 AM     15,872 expand.exe
04/15/2008  02:00 AM     24,064 extrac32.exe
04/15/2008  02:00 AM        882 fastopen.exe
04/15/2008  02:00 AM     14,848 fc.exe
04/15/2008  02:00 AM      9,216 find.exe
04/15/2008  02:00 AM     27,136 findstr.exe *
04/15/2008  02:00 AM      9,216 finger.exe
04/15/2008  02:00 AM      3,072 fixmapi.exe
07/21/2012  11:35 PM 426,184 FlashPlayerApp.
04/15/2008  02:00 AM     23,040 fltMc.exe
04/15/2008  02:00 AM     20,992 fontview.exe
04/15/2008  02:00 AM      7,680 forcedos.exe
04/15/2008  02:00 AM     55,296 freecell.exe
04/15/2008  02:00 AM    193,024 fsquirt.exe
04/15/2008  02:00 AM     56,320 fsutil.exe
04/15/2008  02:00 AM     42,496 ftp.exe *
04/15/2008  02:00 AM     24,576 gdi.exe
04/15/2008  02:00 AM     59,904 getmac.exe
04/15/2008  02:00 AM    120,832 gpresult.exe
04/15/2008  02:00 AM     57,344 gpupdate.exe
04/15/2008  02:00 AM     39,424 grpconv.exe
04/15/2008  02:00 AM     15,872 help.exe
10/02/2009  01:52 AM    173,592 hkcmd.exe
04/15/2008  02:00 AM      7,680 hostname.exe
12/09/2009  08:05 AM    173,056 ie4uinit.exe
11/06/2009  03:54 AM     36,864 ieudinit.exe
04/15/2008  02:00 AM    114,688 iexpress.exe
10/02/2009  01:52 AM    651,800 igfxcfg.exe
10/02/2009  01:52 AM    172,568 igfxext.exe
10/02/2009  01:52 AM    142,872 igfxpers.exe
10/02/2009  01:52 AM    250,904 igfxsrvc.exe
10/02/2009  01:52 AM    141,336 igfxtray.exe
10/02/2009  01:52 AM  1,002,008 igxpun.exe
08/24/2001  03:00 AM     14,336 iisreset.exe
04/15/2008  02:00 AM    150,528 imapi.exe
04/15/2008  02:00 AM     55,808 ipconfig.exe *
04/15/2008  02:00 AM     44,032 ipsec6.exe
04/15/2008  02:00 AM     53,248 ipv6.exe
04/15/2008  02:00 AM     23,552 ipxroute.exe
04/15/2008  02:00 AM     92,224 krnl386.exe
04/15/2008  02:00 AM      9,728 label.exe *
04/15/2008  02:00 AM     29,696 lights.exe
04/15/2008  02:00 AM     25,088 lnkstub.exe
04/15/2008  02:00 AM     75,264 locator.exe
04/15/2008  02:00 AM      5,120 lodctr.exe
11/06/2009  04:35 AM    100,864 logagent.exe
04/15/2008  02:00 AM     59,392 logman.exe
04/15/2008  02:00 AM     15,360 logoff.exe
04/15/2008  02:00 AM    514,560 logonui.exe
04/15/2008  02:00 AM      6,144 lpq.exe
04/15/2008  02:00 AM      8,192 lpr.exe
04/15/2008  02:00 AM     13,312 lsass.exe
04/15/2008  02:00 AM     72,704 magnify.exe
04/15/2008  02:00 AM     57,344 makecab.exe
04/15/2008  02:00 AM     39,274 mem.exe
04/15/2008  02:00 AM     51,712 migpwd.exe
04/15/2008  02:00 AM  1,414,656 mmc.exe
04/15/2008  02:00 AM     33,792 mmcperf.exe
04/15/2008  02:00 AM     32,768 mnmsrvc.exe
04/15/2008  02:00 AM    143,360 mobsync.exe
04/15/2008  02:00 AM      8,192 mountvol.exe
04/15/2008  02:00 AM    123,392 mplay32.exe
04/15/2008  02:00 AM     22,016 mpnotify.exe
04/15/2008  02:00 AM     19,968 mqbkup.exe
04/15/2008  02:00 AM      4,608 mqsvc.exe
04/15/2008  02:00 AM    117,248 mqtgsvc.exe
04/15/2008  02:00 AM     12,800 mrinfo.exe
12/01/2009  12:06 PM 25,966,024 MRT.exe
04/15/2008  02:00 AM        817 mscdexnt.exe
04/15/2008  02:00 AM      6,144 msdtc.exe
11/06/2009  03:54 AM 13,312 msfeedssync.exe
04/15/2008  02:00 AM     20,992 msg.exe
04/15/2008  02:00 AM    126,976 mshearts.exe
11/06/2009  03:53 AM     45,568 mshta.exe
04/15/2008  02:00 AM     78,848 msiexec.exe
04/15/2008  02:00 AM    343,040 mspaint.exe
04/15/2008  02:00 AM      6,656 msswchx.exe
04/15/2008  02:00 AM     12,288 mstinit.exe
04/15/2008  02:00 AM    677,888 mstsc.exe
04/15/2008  02:00 AM    176,640 napstat.exe
04/15/2008  02:00 AM     53,760 narrator.exe
04/15/2008  02:00 AM     20,480 nbtstat.exe
04/15/2008  02:00 AM      4,096 nddeapir.exe
07/09/2001  10:50 AM    155,648 NeroCheck.exe
04/15/2008  02:00 AM     42,496 net.exe *
04/15/2008  02:00 AM    124,928 net1.exe
04/15/2008  02:00 AM    111,104 netdde.exe
04/15/2008  02:00 AM    329,728 netsetup.exe
04/15/2008  02:00 AM     86,016 netsh.exe
04/15/2008  02:00 AM     36,864 netstat.exe *
04/15/2008  02:00 AM      7,052 nlsfunc.exe
04/15/2008  02:00 AM     69,120 notepad.exe *
04/15/2008  02:00 AM     76,800 nslookup.exe *
04/15/2008  02:00 AM  1,200,640 ntbackup.exe
12/27/2009  10:16 PM  2,023,936 ntkrnlpa.exe
11/06/2009  03:53 AM  2,145,280 ntoskrnl.exe
04/15/2008  02:00 AM     31,744 ntsd.exe
04/15/2008  02:00 AM    420,864 ntvdm.exe
04/15/2008  02:00 AM      3,252 nw16.exe
04/15/2008  02:00 AM    126,464 nwscript.exe
04/15/2008  02:00 AM     32,768 odbcad32.exe
04/15/2008  02:00 AM     69,632 odbcconf.exe
04/15/2008  02:00 AM     67,584 openfiles.exe
04/15/2008  02:00 AM    215,552 osk.exe
04/15/2008  02:00 AM     40,448 osuninst.exe
04/15/2008  02:00 AM     58,368 packager.exe
04/15/2008  02:00 AM     21,504 pathping.exe
04/15/2008  02:00 AM     15,360 pentnt.exe
04/15/2008  02:00 AM     15,872 perfmon.exe
04/15/2008  02:00 AM     17,920 ping.exe *
04/15/2008  02:00 AM     33,280 ping6.exe
04/15/2008  02:00 AM     49,152 powercfg.exe
03/18/2010 10:09 AM 295,264 PresentationHost.
04/15/2008  02:00 AM      9,216 print.exe
04/15/2008  02:00 AM    109,568 progman.exe
04/15/2008  02:00 AM     50,176 proquota.exe
04/15/2008  02:00 AM      9,216 proxycfg.exe
11/03/2011  11:42 AM     69,904 pxcpya64.exe
11/03/2011  11:41 AM    125,712 pxcpyi64.exe
11/03/2011  11:41 AM     70,416 pxinsa64.ex
11/03/2011  11:41 AM    128,784 pxinsi64.exe
04/15/2008  02:00 AM     16,896 qappsrv.exe
04/15/2008  02:00 AM     19,968 qprocess.exe
04/15/2008  02:00 AM     22,016 qwinsta.exe
04/15/2008  02:00 AM     11,776 rasautou.exe
04/15/2008  02:00 AM     11,264 rasdial.exe
04/15/2008  02:00 AM     56,832 rasphone.exe
04/15/2008  02:00 AM     35,840 rcimlby.exe
04/15/2008  02:00 AM     21,504 rcp.exe
04/15/2008  02:00 AM     62,976 rdpclip.exe
04/15/2008  02:00 AM     13,824 rdsaddin.exe
04/15/2008  02:00 AM     67,072 rdshost.exe
04/15/2008  02:00 AM      7,168 recover.exe
04/15/2008  02:00 AM      3,338 redir.exe
04/15/2008  02:00 AM     50,176 reg.exe
04/15/2008  02:00 AM      3,584 regedt32.exe *
04/15/2008  02:00 AM     33,792 regini.exe
04/15/2008  02:00 AM     11,776 regsvr32.exe
04/15/2008  02:00 AM      4,608 regwiz.exe
04/15/2008  02:00 AM     32,768 relog.exe
04/15/2008  02:00 AM     12,800 replace.exe
04/15/2008  02:00 AM      9,728 reset.exe
04/15/2008  02:00 AM     13,824 rexec.exe
04/15/2008  02:00 AM     19,968 route.exe
04/15/2008  02:00 AM     25,600 routemon.exe
04/15/2008  02:00 AM     14,848 rsh.exe
04/15/2008  02:00 AM     49,152 rsm.exe
04/15/2008  02:00 AM     24,576 rsmsink.exe
04/15/2008  02:00 AM     49,152 rsmui.exe
04/15/2008  02:00 AM    107,520 rsnotify.exe
04/15/2008  02:00 AM     62,976 rsopprov.exe
04/15/2008  02:00 AM    132,608 rsvp.exe
04/15/2008  02:00 AM     77,312 rtcshare.exe
04/15/2008  02:00 AM     16,384 runas.exe
04/15/2008  02:00 AM     33,280 rundll32.exe
04/15/2008  02:00 AM     14,336 runonce.exe
04/15/2008  02:00 AM     15,872 rwinsta.exe
04/15/2008  02:00 AM     13,312 savedump.exe
11/06/2009  03:53 AM     35,328 sc.exe
04/15/2008  02:00 AM     95,744 scardsvr.exe
04/15/2008  02:00 AM    121,856 schtasks.exe
04/15/2008  02:00 AM     77,312 sdbinst.exe
04/15/2008  02:00 AM     18,944 secedit.exe
11/06/2009  03:53 AM    110,592 services.exe
04/15/2008  02:00 AM    141,312 sessmgr.exe
04/15/2008  02:00 AM     31,232 sethc.exe
04/14/2008  04:42 AM     23,040 setup.exe
04/15/2008  02:00 AM     32,768 setupn.exe
02/20/2010  09:55 PM     28,672 setupold.exe
04/15/2008  02:00 AM     11,753 setver.exe
04/15/2008  02:00 AM      9,728 sfc.exe
04/15/2008  02:00 AM     14,848 shadow.exe
04/15/2008  02:00 AM        882 share.exe
04/15/2008  02:00 AM     45,056 shmgrate.exe
04/15/2008  02:00 AM     77,824 shrpubw.exe
04/15/2008  02:00 AM     19,456 shutdown.exe
04/15/2008  02:00 AM     70,144 sigverif.exe
04/15/2008  02:00 AM     26,112 skeys.exe
04/15/2008  02:00 AM      8,192 smbinst.exe
04/15/2008  02:00 AM     89,600 smlogsvc.exe
04/15/2008  02:00 AM     50,688 smss.exe
04/15/2008  02:00 AM    131,584 sndrec32.exe
04/15/2008  02:00 AM    138,752 sndvol32.exe
04/15/2008  02:00 AM     56,832 sol.exe
04/15/2008  02:00 AM     24,576 sort.exe
04/15/2008  02:00 AM    538,624 spider.exe
04/15/2008  02:00 AM     12,800 spiisupd.exe
04/15/2008  02:00 AM     11,264 spnpinst.exe
04/15/2008  02:00 AM     57,856 spoolsv.exe
04/15/2008  02:00 AM      9,728 sprestrt.exe
03/21/2008  01:57 PM     23,856 spupdsvc.exe
04/15/2008  02:00 AM     14,848 stimon.exe
04/15/2008  02:00 AM      9,216 subst.exe
04/15/2008  02:00 AM     14,336 svchost.exe
04/15/2008  02:00 AM     51,200 syncapp.exe
04/15/2008  02:00 AM     18,896 sysedit.exe
04/15/2008  02:00 AM     36,864 syskey.exe
04/15/2008  02:00 AM    106,496 sysocmgr.exe
04/15/2008  02:00 AM 71,680 systeminfo.exe
04/15/2008  02:00 AM      3,072 systray.exe
04/15/2008  02:00 AM     76,288 taskkill.exe *
04/15/2008  02:00 AM     77,824 tasklist.exe *
04/15/2008  02:00 AM     15,360 taskman.exe
04/15/2008  02:00 AM    135,680 taskmgr.exe
04/15/2008  02:00 AM     12,288 tcmsetup.exe
04/15/2008  02:00 AM     19,456 tcpsvcs.exe
06/13/2009  02:31 AM     76,288 telnet.exe *
04/15/2008  02:00 AM     16,896 tftp.exe
04/15/2008  02:00 AM     61,440 tlntadmn.exe
11/06/2009  03:53 AM     80,896 tlntsess.exe
04/15/2008  02:00 AM     73,216 tlntsvr.exe
04/15/2008  02:00 AM    347,136 tourstart.exe
04/15/2008  02:00 AM    259,584 tracerpt.exe
04/15/2008  02:00 AM     12,288 tracert.exe *
04/15/2008  02:00 AM     31,744 tracert6.exe
04/15/2008  02:00 AM     14,848 tscon.exe
04/15/2008  02:00 AM     14,848 tsdiscon.exe
04/15/2008  02:00 AM     16,384 tskill.exe
04/15/2008  02:00 AM     16,896 tsshutdn.exe
04/15/2008  02:00 AM     36,352 typeperf.exe
10/29/2009  05:07 AM     46,080 tzchange.exe
04/15/2008  02:00 AM      4,096 unlodctr.exe
04/15/2008  02:00 AM     16,896 upnpcont.exe
04/15/2008  02:00 AM     18,432 ups.exe
04/15/2008  02:00 AM     47,872 user.exe
04/15/2008  02:00 AM     26,112 userinit.exe
12/27/2009  10:15 PM     77,891 usrmlnka.exe
12/27/2009  10:15 PM     61,508 usrprbda.exe
12/27/2009  10:15 PM     69,700 usrshuta.exe
04/15/2008  02:00 AM     50,176 utilman.exe
11/06/2009  04:34 AM      8,704 uWDF.exe
04/15/2008  02:00 AM     28,672 verclsid.exe
04/15/2008  02:00 AM     98,304 verifier.exe
09/23/2005  07:01 AM 153,800 vsjitdebugger.
04/15/2008  02:00 AM     33,792 vssadmin.exe
04/15/2008  02:00 AM    289,792 vssvc.exe
04/15/2008  02:00 AM      1,129 vwipxspx.exe
04/15/2008  02:00 AM     49,664 w32tm.exe
11/06/2009  04:34 AM      8,704 wdfmgr.exe
04/15/2008  02:00 AM     65,024 wextract.exe
03/11/2009  10:18 AM    323,072 wgatray.exe
04/15/2008  02:00 AM    433,664 wiaacmgr.exe
04/15/2008  02:00 AM     35,328 winchat.exe
11/06/2009  03:54 AM 208,384 winfxdocobj.
04/15/2008  02:00 AM      8,192 winhlp32.exe
04/15/2008  02:00 AM    507,904 winlogon.exe
04/15/2008  02:00 AM    119,808 winmine.exe
04/15/2008  02:00 AM     11,776 winmsd.exe
04/15/2008  02:00 AM      2,112 winspool.exe
04/15/2008  02:00 AM      5,632 winver.exe
08/04/2004  07:56 AM    293,376 WISPTIS.EXE
04/15/2008  02:00 AM      2,736 wowdeb.exe
04/15/2008  02:00 AM     10,368 wowexec.exe
04/15/2008  02:00 AM     32,256 wpabaln.exe
11/06/2009  04:34 AM 17,408 wpdshextautoplay.
04/15/2008  02:00 AM     11,264 wpnpinst.exe
04/15/2008  02:00 AM      5,632 write.exe
04/15/2008  02:00 AM     13,824 wscntfy.exe
11/06/2009  03:53 AM    155,648 wscript.exe
11/10/2008  11:20 AM     51,224 wuauclt.exe
04/15/2008  02:00 AM    165,888 wuauclt1.exe
11/06/2009  04:34 AM    146,432 wudfhost.exe
04/15/2008  02:00 AM     32,256 wupdmgr.exe
04/15/2008  02:00 AM     30,720 xcopy.exe
12/10/2007  08:00 AM    430,080 ZSHP1020.EXE
        350 File(s)     60,371,508 bytes

infographic
infographic2
กิจกรรม : จัดการ task 1. DOS> tasklist | more
พบรายชื่องาน และ PID และ หน่วยความจำของแต่ละงาน
และ Session Name ว่าเป็น console หรือเป็น Services
2. DOS> tasklist /? แล้ว tasklist /M
พบรายชื่อ module และ image name
เช่น cmd.exe คือ image name มี PID คือ 1234
และ Modules ประกอบด้วย
ntdll.dll, kernel32.dll, kernelbase.dll, msvert.dll และ winbrand.dll
3. DOS> tasklist /M /FI "imagename eq cmd.exe"
เลือกแสดงข้อมูลตาม imagename
4. DOS> notepad
สั่งเปิด task ชื่อ notepad
dos> tasklist /M /FI "imagename eq notepad.exe"
หากเปิดหลายครั้งก็จะมี pid หลายตัวเลข เช่น 6860
5. DOS> taskkill /PID 6860
พบ SUCCESS: Sent termination signal to the process with PID 6860.
หรือพบ ERROR: The process "6860" not found.
https://ss64.com/nt/taskkill.html
thaiall.com/os/os03.htm
กิจกรรม : พิมพ์ 1 - 5 ด้วย DOS Command
@echo off
rem display number on screen
for /l %i in (1,1,5) do (echo %i)
rem create 5 files in current directory
for /l %i in (1,1,5) do (echo a> %i)
rem 3 bytes for a file
rem echo on 
rem prompt $p$g
กิจกรรม : แสดงจำนวนแฟ้มใน drive c
ารแสดงจำนวนแฟ้มใน Drive C โดยไม่ใช้โปรแกรมภายนอก แต่ใช้คำสั่งบน DOS ที่ติดมากับ Windows เป็นตัวอย่างคำสั่งที่อาจเพิ่ม parameter ให้ลงลึกได้กว่านี้ ซึ่งมีขั้นตอนดังนี้
1. c: แล้ว cd\
2. dir /s > e:\list.txt
3. findstr File(s) e:\list.txt
กิจกรรม : ดูขนาด Cluster ด้วย PowerShell/Winhex/Diskpart
Power shell : Windows Management Instrumentation
PS C:\Users\ACER> 
$wmiQuery = "SELECT Name, Label, Blocksize FROM Win32_Volume WHERE Blocksize > 0"
Get-WmiObject -Query $wmiQuery -ComputerName '.' | Select-Object Name, Label, Blocksize

Name                                              Label    Blocksize
----                                              -----    ---------
C:\                                               Acer          4096
D:\                                                             4096
\\?\Volume{d5f5f..xx}\ Recovery      4096
\\?\Volume{51a1..xx}\ ESP           1024

PS C:\Users\ACER> 

DOS> FSUtil
C:\WINDOWS\system32>fsutil fsinfo ntfsinfo C:
NTFS Volume Serial Number :        0x027..67
NTFS Version   :                   3.1
LFS Version    :                   2.0
Number Sectors :                   0x000..ff
Total Clusters :                   0x00..ff
Free Clusters  :                   0x00..2c
Total Reserved :                   0x00..93
Bytes Per Sector  :                512
Bytes Per Physical Sector :        4096
Bytes Per Cluster :                4096
Bytes Per FileRecord Segment    :  1024
Clusters Per FileRecord Segment :  0
Mft Valid Data Length :            0x00..00
Mft Start Lcn  :                   0x00..00
Mft2 Start Lcn :                   0x00..02
Mft Zone Start :                   0x00..80
Mft Zone End   :                   0x00..a0
Max Device Trim Extent Count :     0
Max Device Trim Byte Count :       0x0
Max Volume Trim Extent Count :     62
Max Volume Trim Byte Count :       0x40000000
Resource Manager Identifier :      C7..DC
WinHEX
DOS> Diskpart


File Properties
กิจกรรม : เขียน batch เก็บผลการ ping ลงแฟ้มในอนาคต
ขั้นตอน : 01 .. 10
ภาพ 5 6 7 8 9 10
แม้ว่าเราจะย้อนกลับไปเปลี่ยนอดีตไม่ได้
แต่เรากำหนดสิ่งที่จะให้เกิดขึ้นในอนาคตได้
หมือนในภาพยนตร์ เรื่อง The letter (นางเอกเป็น webmaster) ซึ่งในเรื่องพระเอก เป็นผู้กำหนดว่า ในอนาคตจะให้เกิดอะไรขึ้นบ้างผ่านการส่งข้อความไปในอนาคต กลับมาที่ระบบคอมพิวเตอร์ เราสามารถเขียน Batch file ที่ใช้คำสั่งภายใน (Internal Command) บนระบบปฏิบัติการ (Windows) เพื่อกำหนดงาน (Job) ที่ต้องทำในแต่ละชั่วโมง แต่ละวันได้ (Daily) ในอนาคตได้ กรณีนี้บันทึกผลการ ping www.google.com ทุกวัน เก็บผลลัพธ์ไว้เป็นแฟ้ม โดยชื่อแฟ้มเป็นวันที่ และเวลา (File name) หรือจะเก็บข้อมูลวันที่และเวลาเข้าไปในตัวแฟ้ม ก็สามารถทำได้ เมื่อถึงเวลาก็จะนำแฟ้มเหล่านั้นไปใช้ประโยชน์ต่อไป
@echo off
rem homepath=c:\users\acer
rem date=mon 12/31/2018
rem time=21:16:12.76
cd %homepath%\desktop
set yyyymmdd=%date:~10,4%%date:~4,2%%date:~7,2%
set hhmmss=%time:~0,2%%time:~3,2%%time:~6,2%
set keepping=%yyyymmdd%_%hhmmss%
echo %keepping%
echo %keepping% >> %keepping%.txt
ping www.google.com -n 3 >> %keepping%.txt
pause
เปลี่ยนชื่อแฟ้มด้วย Powershell
มีแฟ้มภาพเป็น slide ที่ได้จากการ right click บนแฟ้ม pptx แล้วสั่ง Create PDF and Bitmap Files with PDFCreator แล้วเลือกเป็น .jpg ซึ่งมีจำนวนมาก และมีชื่อยาว ต้องการให้สั้นลงจะได้เขียน code สั้น ๆ ก็ใช้ rename บน powershell ซึ่งทำงานได้มีประสิทธิภาพกว่า Command line บน DOS ที่ใช้ ren มีชื่อแฟ้มตัวอย่างที่ต้องการแปลง ดังนี้
ch01_slide.pps[Compatibility_Mode]001.jpg
ch01_slide.pps[Compatibility_Mode]002.jpg
เปลี่ยน ช่องว่าง เป็น _
dir ch*.jpg | rename-item -NewName {$_.name -replace [Regex]::Escape(" "),"_"}
ลบเครื่องหมาย (
dir | rename-item -NewName {$_.name -replace [Regex]::Escape("("),""}
ลบเครื่องหมาย )
dir | rename-item -NewName {$_.name -replace [Regex]::Escape(")"),""}
เปลี่ยน ในสิ่งที่อยากเปลี่ยน
dir ch*.jpg | rename-item -NewName {$_.name -replace [Regex]::Escape(".pps[Compatibility_Mode]"),""}
Thaiall.com