วันอังคารที่ 10 กันยายน พ.ศ. 2556

ปูพื้นฐาน(ขั้นเทพ) Batch File ตอน 10

วันนี้...เราจะมาดูการทำงานเกี่ยวกับ Net กันบ้าง...ซึ่งเครื่องที่บ้านผม...ไม่มีเน็ตให้ใช้ครับอยู่หลังเขา...สัญญาณเ้ข้าไม่ถึง...มีแต่เน็ตมือถือ...เลยต้องมาสาิธิตจากที่ทำงานเอา... นั้นแหละครับการทำงานในเน็ต ก็สมดังชื่อ คำสั่งที่มีความสำคัญมากในเกี่ยวกับเน็ตบนวินโดวส์ ได้แก่ NET.EXE ครับ ซึ่งมันอาศัยใน System Folder ของระบบปฏิบัติการ...ไวรัสและผู้ไม่หวังดีจะลบแฟ้มนี้ทิ้งได้ถ้าต้องการไม่ให้มันทำงาน ฉนั้นการสร้างคำสั่ง Batch อย่างที่ผมสอนมาแล้วคือยัดใส Include ของ Batch to EXE ซะ เพื่อที่โปรแกรมจะได้ทำงานอย่างสมบรูณ์ มันทำงานอะไรได้บ้างเช่น
@Echo off
net use x: \\10.1.1.30\C: /user:Computer1 password /persistent:no
net use y: \\10.1.1.36\C: /user:xxx xxx /persistent:no
net use z: \\10.1.1.40\C: /user:xxx xxx /persistent:no
xcopy y:\zzz x:\Bxxx
xcopy z:\zzz x:\Cxxx
แมบไดร์ฟ และคัดลอกข้อมูลเสมือนเป็นเครื่องที่ทำงานอยู่ที่เดียวกันได้
ส่วนใครอยากรู้ว่้า NET ทำงานอย่างไรดูจา่กเวปไซต์ของต่างประเทศที่ การใช้งาน NET COMMAND
แต่หากต้องการนำมันมาเขียนเป็นโปรแกรมของเราเอง...ผมจะประยุกต์แบบง่ายๆ ให้ก่อนดังนี้
@echo off
:: Create BIOS Keyboard Service Binary
:: -----------------------------------
( echo e 100 B4 00 CD 16 88 E0 B4 4C CD 21
  echo.
  echo rcx
  echo 0a
  echo w
  echo q
)|debug getkey.com
:: -----------------------------------
:: End Module Binary

set /a a=1
:MainMenu
color 0B
cls
echo.
echo       _/  _/  ______/ __/ ___/ ______/ _____/ __/  _/   
echo      _/  _/  _/   _/  _/_/ _/ _/   _/     _/ _/   _/    
echo     _/  _/  ____/_/  _/   _/ _/   _/     _/  __/ _/     
echo    __/ __/ _/   _/  _/   _/ ______/     _/ ______/      
echo.
echo.
call :Menu 97 "#Net Command 1.00.#"
if %a% == 1 (call :Menu 97 "[ Check Workgroup ]" & title ตรวจสอบ computer name ใน workgroup เดียวกัน) else (call :Menu 03 "[ Check Workgroup ]") 
if %a% == 2 (call :Menu 97 "[ WhoIs Share     ]" & title ดูไฟล์ในเครื่องที่แชร์อยู่) else (call :Menu 03 "[ WhoIs Share     ]")
if %a% == 3 (call :Menu 97 "[ WhoIs Logon     ]" & title ตรวจสอบผู้ใช้ที่เข้าใช้งานเครื่องเรา) else (call :Menu 03 "[ WhoIs Logon     ]")
if %a% == 4 (call :Menu 97 "[ Service Running ]" & title ตรวจสอบเซอร์วิสที่รันอยู่) else (call :Menu 03 "[ Service Running ]")
if %a% == 5 (call :Menu 97 "[ Hidden IP       ]" & title สอนตัว) else (call :Menu 03 "[ Hidden IP       ]")
if %a% == 6 (call :Menu 97 "[ Unhidden IP     ]" & title ยกเลิกการสอนตัว) else (call :Menu 03 "[ Unhdiden IP     ]")
if %a% == 7 (call :Menu 97 "[ Exit Program    ]" & title ออกจากโปรแกรม) else (call :Menu 03 "[ Exit Program    ]")
call :Menu 03 "-------------------"
if %a% == 8 (call :Menu 97 "[ Anti Netcut     ]" & title เซ็ตคำสั่งป้องกัน Netcut) else (call :Menu 03 "[ Anti Netcut     ]")
echo.
echo Press Airrow Key select form menu
getkey.com

if %errorlevel% == 28 goto :EndMenu
if %errorlevel% == 72 goto :Up
if %errorlevel% == 75 goto :Left
if %errorlevel% == 77 goto :Right
if %errorlevel% == 80 goto :Down
goto :MainMenu
:Down
:Left
set /a a=%a%+1
if %a% == 9 set /a a=1
goto :MainMenu
:Up
:Right
set /a a=%a%-1
if %a% == 0 set /a a=8
goto :MainMenu

:EndMenu
if %a%==1 net view & pause
if %a%==2 net share & pause
if %a%==3 net session & pause
if %a%==4 net start & Pause
if %a%==5 net config server /hidden:yes & pause
if %a%==6 net config server /hidden:no & pause
if %a%==7 goto :End
if %a%==8 call :AntiNetcut
goto :MainMenu

:Menu color text
pushd %temp%
for /F "tokens=1 delims=#" %%a in ('"prompt #$H# & echo on & for %%b in (1) do rem"') do (
  <nul set/p"=%%a" >"%~2"
)
findstr /v /a:%1 /r "^$" "%~2" nul
del "%~2" > nul 2>&1
popd
echo.
goto :EOF

:AntiNetCut
for /f "tokens=1,2,13"  %%a in ('ipconfig') do if "%%b"=="Gateway" (
  for /f "tokens=1,2 eol=I" %%d in ('arp -a %%c') do call :SetStaticARP %%e
  goto :EOF
)
goto :EOF
:SetStaticARP %1
for /f "tokens=1,14"  %%a in ('ipconfig') do if "%%a"=="IPv4" (
  arp -s %%b %1
  msg %username% Set Static IP %%b in %1
)
arp -a
pause
goto :EOF

:End
del getkey.com
set a=
color



โปรแกรมน่าตาเป็นแบบนี้

จะมี Title เป็นภาษาไทย เมื่อเลื่อนเมนู...ลองนำไปใช้งานดูนะครับ...

ยังไงยังมีคำสั่งเกี่ยวกับ เน็ตเวิร์ค อีกเยอะ ครับ...จะทยอยมาสอนกันนะครับ...

ไม่มีความคิดเห็น:

แสดงความคิดเห็น