6.1 批量修改文件名
在第4.2.2節中,我們已經(jīng)會(huì )使用循環(huán)命令對大量文件改名進(jìn)行批量處理。但總結一下,該批處理并不是很健壯。判斷一個(gè)程序的好壞,往往不是站在程序員的角度,而從用戶(hù)的角度出發(fā)。比如:在用戶(hù)使用它的時(shí)候,如果輸入了不正確的路徑格式怎么辦?如果輸入了含有非法符號的前綴怎么辦?輸入的擴展名也有問(wèn)題怎么辦?改完名后看不到是否執行成功的反饋信息,等等。帶著(zhù)這些想法,我們將原程序再次修改一下。
:::::::批量修改文件名.bat:::::::
@echo off
title 批量修改文件名
setlocal EnableDelayedExpansion
:: 啟用延遲變量擴充
:GetPath
set zpath=%CD%
:: 對變量進(jìn)行初始化,防止用戶(hù)不輸入而直接跳過(guò)。其中%CD%表示當前路徑
set /p zpath=請輸入目標文件所在的路徑:
if %zpath:~0,1%%zpath:~-1%=="" set zpath=%zpath:~1,-1%
:: 檢查變量 zpath 的第一個(gè)和最后一個(gè)字符是否為 "" ,是的話(huà)就去掉
if not exist "%zpath%" goto :GetPath
:: 如果 zpath 值的路徑不存在,就得跳轉回去,要求重新輸入
:GetPrefix
set prefix=未命名
set /p prefix=請輸入文件名前綴(不能包含以下字符\/:*?"<>|):
for /f "delims=\/:*?<>| tokens=2" %%i in ("z%prefix%z") do goto :GetPrefix
:: 這里對變量 perfix 進(jìn)行檢查,發(fā)現有非法符號便跳轉到 :GetPrefix
:: 事實(shí)上,這里并沒(méi)有對雙引號 " 進(jìn)行檢測,因為雙引號無(wú)法在此被轉義為可用的分隔符
:: 即使是在這個(gè)程序里,不正確地使用雙引號也會(huì )引起程序異常而退出。
:: 因此,想把它做的非常人性化并不是一件容易的事情
:GetExt
set ext=.*
set /p ext=請輸入文件的擴展名(不輸入則表示所有類(lèi)型):
if not "%ext:~0,1%"=="." set ext=.%ext%
:: 檢查變量 ext 的第一個(gè)是否為句點(diǎn) . ,不是的話(huà)就加上
:: 建議這里對變量 ext 也檢查一下,發(fā)現有除*外的非法符號便跳轉到 :GetExt
set answer=N
echo.
echo 您試圖將 %zpath%\ 里的所有 %ext% 類(lèi)型的文件以 %prefix% 為前綴名進(jìn)行批量改名,是否繼續?
set /p answer=繼續請輸入 Y ,輸入其它鍵放棄...
if "%answer%"=="Y" goto :ReadyToRename
if "%answer%"=="y" goto :ReadyToRename
echo 放棄文件改名,按任意鍵退出... & goto :PauseThenQuit
:ReadyToRename
set /a num=0
echo.
if "%ext%"==".*" (
for %%i in ("%zpath%\*%ext%") do (
set /a num+=1
ren "%%i" "%prefix%!num!%%~xi" || echo 文件 %%i 改名失敗 && set /a num-=1
)
) else (
for %%i in ("%zpath%\*%ext%") do (
set /a num+=1
ren "%%i" "%prefix%!num!%ext%" || echo 文件 %%i 改名失敗 && set /a num-=1
)
)
if %num%==0 echo %zpath%\ 里未發(fā)現任何文件。按任意鍵退出... & goto :PauseThenQuit
echo 文件改名完成,按任意鍵退出...
:PauseThenQuit
pause>nul
::::::::::::::::::::::::::::::::

圖6-1 批量改文件名.bat 的運行結果
相對第4.2.2節里的批量修改文件的批處理來(lái)說(shuō),已經(jīng)全面多了。不過(guò)這仍然有許多地方需要進(jìn)一步完善,比如,輸出的文件名編號可以用001、002、003這樣的方式來(lái)表達,以便瀏覽器在以文件名排列文件時(shí)能按我們或需要的順序進(jìn)行排列。[創(chuàng )作日期:2007-12-13]
========================================樸實(shí)的分割線(xiàn)========================================
6.2 批量備份進(jìn)程映像列表以及注冊表自啟動(dòng)項
什么是備份;為什么要備份;怎么去備份;備份些什么,說(shuō)起來(lái)我們可能會(huì )更關(guān)心這些問(wèn)題。
什么是備份:將某事物復制出額外一份完全一樣的事物,并妥善保存起來(lái)的過(guò)程;
為啥要備份:當原事物出現異?;驘o(wú)法使用的時(shí)候,取出復制品并代替原來(lái)無(wú)法使用的事物;
怎么去備份:復制,與原事物完全一樣地去復制,然后保存到安全的地方;
備份些什么:系統、文檔、數據庫、工程、記錄、進(jìn)度等等。
不過(guò),這些都不是本文的主旨。
本節的寫(xiě)作起因是從《利用Windows系統自帶命令手工搞定病毒》這篇文章開(kāi)始的。這篇文章的主旨是:用 tasklist 備份好進(jìn)程列表→通過(guò) fc 比較文件找出病毒→用 netstat 判斷進(jìn)程→用 ntsd 終止進(jìn)程→搜索找出病毒以及同伙文件并刪除→用 reg 命令修復注冊表。
不過(guò),這些也不是本文的主旨。
在前面提到的《手工殺毒》一文中,第二步提到:如果感覺(jué)機器異常,可以將現有的進(jìn)程與以前機器正常時(shí)的進(jìn)程加以對比,看看是否多出了可疑的進(jìn)程。這就意味著(zhù)您必須得記憶或保留住以前正常時(shí)的進(jìn)程映像名,即備份。備份時(shí)正如《手工殺毒》中所說(shuō)的,在系統正常且剛進(jìn)入Windows的時(shí)候就做一個(gè)進(jìn)程映像名列表的備份。查看機器當前的進(jìn)程可以通過(guò)組合鍵 Ctrl+Alt+Del 召喚出"Windows 任務(wù)管理器",然后切換到"進(jìn)程"頁(yè)即可。對于如何記錄下當前的這些進(jìn)程,您可以用 PrintScreen 鍵抓圖(Alt+PrintScreen 可以?xún)H抓取當前窗口的圖)并以圖片的形式保存,當然,您甚至可以簡(jiǎn)單地將這些映像名抄到一張紙上。本文所提供的方法要比抓圖或是手抄的方法更先進(jìn)一些,至少是更嚴肅了一些。
除了 Windows 任務(wù)管理器 以外,使用命令 tasklist 也可以看到(詳細信息請參閱 tasklist/?)當前進(jìn)程。tasklist>進(jìn)程.txt 即可將進(jìn)程以表格的形式輸出到一個(gè)文本文件中。在輸出結果中除了進(jìn)程映像名以外,還有 PID 、會(huì )話(huà)、內存使用等信息,但后面的這些信息并不總是固定的,因此我們也并不需要這些。我們所關(guān)心的只是一個(gè)按照字母順序排列的進(jìn)程映像名清單,以便今后進(jìn)行比較。
::::::備份進(jìn)程和自啟動(dòng).bat::::::
@echo off
set TempFolder=臨時(shí)文件夾
:: 設置臨時(shí)文件夾的名稱(chēng)
if not exist %TempFolder% md %TempFolder%
:: 創(chuàng )建臨時(shí)文件夾
echo.>%TempFolder%\temp.tmp
:: 在臨時(shí)文件夾里創(chuàng )建一個(gè)臨時(shí)文件 temp.tmp ,并清空其內容
set ExportImageName=%cd%\進(jìn)程映像列表%date:~0,10%.txt
:: 設置默認導出文件的路徑以及文件名
set /p ExportImageName=所要導出的進(jìn)程映像名稱(chēng)列表備份文件名:
:: 用戶(hù)自定義輸入的路徑文件名
for /f "delims=," %%i in ('tasklist /nh /fo csv') do echo %%~i>>%TempFolder%\temp.tmp
:: 將 tasklist 中的進(jìn)程映像名輸出到臨時(shí)文件 temp.tmp 中 [注1]
sort %TempFolder%\temp.tmp>"%ExportImageName%"
:: 將進(jìn)程映像名按字母順序排列
del %TempFolder%\temp.tmp
:: 刪除臨時(shí)文件夾里的文件 temp.tmp
echo 當前進(jìn)程中的所有映像名已導出到以下文件:%ExportImageName%
pause
:::::::: 以上完成了進(jìn)程備份,下面開(kāi)始備份自啟動(dòng)的注冊表信息
set ExportRegRunName=%cd%\注冊表自啟動(dòng)%date:~0,10%.txt
:: 設置默認導出文件的路徑以及文件名
set /p ExportRegRunName=所要導出的注冊表自啟動(dòng)備份文件名:
:: 用戶(hù)自定義輸入的路徑文件名
reg export HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run %TempFolder%\HKLMrun.reg
reg export HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run %TempFolder%\HKLMexp.reg
reg export HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run %TempFolder%\HKCUrun.reg
reg export HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run %TempFolder%\HKCUexp.reg
:: 將相關(guān)的注冊表信息導出到各個(gè)臨時(shí)的注冊表文件中 [注2]
copy %TempFolder%\*.reg "%ExportRegRunName%">nul
:: 將臨時(shí)文件夾里所有的注冊表文件合并復制到一個(gè)文件中
del %TempFolder%\*.reg
:: 刪除臨時(shí)文件夾里所有的臨時(shí)注冊表文件
if exist %TempFolder% rd %TempFolder%
:: 刪除臨時(shí)文件夾
echo 當前自啟動(dòng)的注冊表信息已導出到以下文件:%ExportRegRunName%
pause
::::::::::::::::::::::::::::::::
注1. tasklist /nh /fo csv 中參數 /nh 表示不輸出欄標頭,參數 /fo csv 表示以雙引號包含字符串,并用逗號分隔各個(gè)字符串。for /f "delims=," %%i in ('tasklist /nh /fo csv') do echo %%~i>>a.txt 表示在無(wú)欄標頭且以 csv 格式輸出的 tasklist 結果中,以逗號為分隔符,將每行的首字符串依次輸出到文本文件 a.txt 中。
注2. reg export 能將注冊表指定項的所有子項和值導出到指定的文件中(請參閱 reg/? 與 reg export /?)。當然,以上4個(gè)只是常見(jiàn)的自啟動(dòng)鍵值,病毒或木馬所在注冊表中添加或修改的項不僅此而已,更多需要備份的項可用類(lèi)似的方法自行添加。
對于查找可以進(jìn)程的方法,與前文 5.2.1 小節中所提到的對比系統文件夾找差異的過(guò)程類(lèi)似,使用命令 fc 對比兩個(gè)不同時(shí)期的進(jìn)程映像名列表,找出多余的可疑進(jìn)程(如果您無(wú)法確定某個(gè)進(jìn)程是干什么用的或者是否存在安全風(fēng)險,可以先到網(wǎng)上搜索并了解一下,比如:進(jìn)程知識庫)。至于是用 taskkill 還是 ntsd 來(lái)終止可以的進(jìn)程,怎樣用屬性加時(shí)間來(lái)查找并鎖定可以的文件,以及 reg import 注冊表導入恢復的用法,這些仍然不是本文的重點(diǎn)。[創(chuàng )作日期:2008-01-08]
========================================樸實(shí)的分割線(xiàn)========================================
6.3 批量查看同一子網(wǎng)絡(luò )下的所有IP在線(xiàn)情況[編輯中]
本小節的批處理可以讓您知道自己所在局域網(wǎng)的同一網(wǎng)段下都有哪些IP被使用了。不得不承認,我在創(chuàng )造這個(gè)批處理的時(shí)候想法很奇怪,甚至有些愚蠢。
:::::::查看所有子網(wǎng)IP.bat:::::::
@echo off
title 查看所有子網(wǎng)IP
set /a Online=0
set /a Offline=0
set /a Total=256
set ExportFile=子網(wǎng)IP在線(xiàn)統計.txt
:: 初始化在線(xiàn)IP與不在線(xiàn)IP的個(gè)數為零,共掃描256個(gè)IP,結果輸出的文件名
set StartTime=%time%
:: 記錄程序的開(kāi)始時(shí)間
for /f "delims=: tokens=2" %%i in ('ipconfig /all ^| find /i "IP Address"') do set IP=%%i
:: 獲得本機IP [注1]
if "%IP%"=="" echo 未連接到網(wǎng)絡(luò ) & pause & goto :EOF
if "%IP%"==" 0.0.0.0" echo 未連接到網(wǎng)絡(luò ) & pause & goto :EOF
:: 當IP為空或 0.0.0.0 時(shí),提示未連接并退出該程序
for /f "delims=. tokens=1,2,3,4" %%i in ("%IP%") do (
set /a IP1=%%i
set /a IP2=%%j
set /a IP3=%%k
set /a IP4=%%l
)
:: 以句點(diǎn)為分隔符,分別將IP的四個(gè)十進(jìn)制數賦給四個(gè)變量
set /a IP4=0
echo 在線(xiàn)的IP:>%ExportFile%
:: 初始化IP的第四個(gè)數值為零,并創(chuàng )建結果輸出文件
:RETRY
ping %IP1%.%IP2%.%IP3%.%IP4% -n 1 -w 200 -l 16>nul && set /a Online+=1 && echo %IP1%.%IP2%.%IP3%.%IP4%>>%ExportFile% || set /a Offline+=1
:: ping 目標IP [注2]
set /p =[將本文底部評論4中的退格符替換到此處]<nul
set /a Scanned=%Online%+%Offline%
set /a Progress=(%Online%+%Offline%)*100/%Total%
set /p =正在掃描:%Scanned%/%Total% 掃描進(jìn)度:%Progress%%%<nul
:: 刪除當前行的內容,并重新顯示進(jìn)度信息 [注3]
set /a IP4+=1
if %IP4% lss %Total% goto :RETRY
:: 當IP的第四個(gè)數值小于總數時(shí),跳轉回 :RETRY 處,重復執行直到全部 ping 完為止
echo.
echo.
set EndTime=%time%
:: 記錄程序的結束時(shí)間
set /a Seconds = %EndTime:~6,2% - %StartTime:~6,2%
set /a Minutes = %EndTime:~3,2% - %StartTime:~3,2%
if %Seconds% lss 0 set /a Seconds += 60 & set /a Minutes -= 1
if %Minutes% lss 0 set /a Minutes += 60
:: 計算時(shí)間差
set /a Percent=%Online%*100/(%Online%+%Offline%)
:: 計算在線(xiàn)百分比
echo 在線(xiàn)IP個(gè)數: %Online%
echo 不在線(xiàn)IP個(gè)數: %Offline%
echo 在線(xiàn)百分比: %Percent%%%
echo 統計耗時(shí): %Minutes%分%Seconds%秒
echo 統計日期: %date% %time:~0,-3%
echo.>>%ExportFile%
echo 在線(xiàn)IP個(gè)數: %Online%>>%ExportFile%
echo 不在線(xiàn)IP個(gè)數: %Offline%>>%ExportFile%
echo 在線(xiàn)百分比: %Percent%%%>>%ExportFile%
echo 統計耗時(shí): %Minutes%分%Seconds%秒>>%ExportFile%
echo 統計日期: %date% %time:~0,-3%>>%ExportFile%
echo 記錄已保存到文件"%ExportFile%"中
::顯示結果并將結果保存到文件中
pause
::::::::::::::::::::::::::::::::
注1. ipconfig 是內置于 Windows 的 TCP/IP 應用程序,用于顯示本地計算機網(wǎng)絡(luò )適配器的物理地址和IP地址等配制信息,這些信息一般用來(lái)檢驗手動(dòng)配置的 TCP/IP 設置是否正確。當在網(wǎng)絡(luò )中使用 DHCP 服務(wù)時(shí), ipconfig 可以檢測到計算機中分配到了什么IP地址,是否配置正確,并且可以釋放,重新獲取IP地址。這些信息對于網(wǎng)絡(luò )測試和故障排除都有重要的作用。[3]
更詳細的說(shuō)明請參閱 ipconfig/? 。ipconfig /all ,參數 /all 表示查看詳細的網(wǎng)絡(luò )配置。命令 ipconfig /all ^| find /i "IP Address" 表示在 'ipconfig /all 的結果中,以 "IP Address" 為查找對象,進(jìn)行搜索(其結果類(lèi)似于:IP Address. . . . . . . . . . . . : 10.30.11.51 )。
而整條命令中的 for 語(yǔ)句,則表示在上述結果中,以冒號為間隔(delims=:),查找第2個(gè)字串(tokens=2)。很明顯,所找到的結果就是自己電腦當前的IP地址了(如果您只有一快網(wǎng)卡或是只啟用了一個(gè)網(wǎng)卡的話(huà)。顯然,對于多個(gè)網(wǎng)卡會(huì )顯示出多個(gè)IP的情況,我并沒(méi)有考慮的太全面)。[關(guān)于 for 更詳細請參閱 4.2.4 小節]
另外,注意到在 ipconfig /all ^| find /i "IP Address" 中有一個(gè)轉義字符 ^ ,它的作用是讓后面的管道命令 | 生效,而不是讓程序把 | 誤解為 for 語(yǔ)句里參數的一部分。
注2. ping 其實(shí)才是本批處理的核心部分。命令 ping 的主要作用是通過(guò)發(fā)送數據包并接收應答信息來(lái)檢測兩臺計算機之間的網(wǎng)絡(luò )是否連通。比如我可以輸入 ping 10.30.11.35 以便查看我是否能與我所在的局域網(wǎng)中IP為 10.30.11.35 的機器連通。如果我不懂批處理的話(huà),也許我就得從 IP 10.30.11.1 開(kāi)始,挨個(gè)地 ping 到 IP 10.30.11.255 ,才能達到我在本小節的最初目的。
在批處理中 ping 的3個(gè)參數 -n 1 -w 200 -l 16 分別表示:僅 ping 一遍[-n 1],等待200毫秒后按超時(shí)考慮[-w 200],發(fā)送16字節的數據[-l 16]。
另外,此命令行中同時(shí)用到了兩個(gè) && 和一個(gè) || 的組合命令,我不得不承認這種復雜的邏輯關(guān)系會(huì )給您帶來(lái)閱讀上的困難。
注3. 這里使用了 set /p =顯示內容<nul 來(lái)顯示一些內容,是因為這中方式顯示出內容后并不換行,而 echo 卻不行。還有向上數4行的那一堆奇怪的符號,表示的是退格符號,能刪除掉當前行中以顯示的內容。

本小節的使用程度并不大,卻很有趣,至少并沒(méi)有想象中的那么愚蠢。[創(chuàng )作日期:2008-01-10]
========================================樸實(shí)的分割線(xiàn)========================================
6.4 令人大囧的WGA,華麗地卸載之
WGA 全稱(chēng) Windows Genuine Advantage ,是微軟制造的反盜版軟件,因其自動(dòng)潛入系統而備受爭議。當用戶(hù)訪(fǎng)問(wèn) Windows Update 服務(wù)以及微軟網(wǎng)站的下載頁(yè)面時(shí),該計劃的附屬檢測軟件就會(huì )被請求安裝。很多用戶(hù)都是在不知情的情況下被安裝上了WGA。事實(shí)上,安裝了WGA后,正版的用戶(hù)并沒(méi)見(jiàn)得有什么優(yōu)勢,但盜版用戶(hù)的劣勢絕對會(huì )被發(fā)揮的淋漓盡致。如果您是盜版的受害者(盡管您更堅持認為自己是WGA的受害者),那么建議您仔細閱讀一下本小節。首先,卸載方法在微軟的幫助與支持中有詳細英文說(shuō)明,中文版的在百度知道里也有介紹。不過(guò),這些依然不是本文的主旨,我們更關(guān)心的還是批處理。
::::::::::WGA卸載器.bat:::::::::
@echo off
title WGA卸載器
setlocal EnableDelayedExpansion
set /a step=1
if exist WGA卸載記錄.txt (
for /f "tokens=2" %%i in (WGA卸載記錄.txt) do set /a step=%%i+1 & goto :Step!step!
)
:: 查看記錄進(jìn)行到第幾步了
:Step1
:RenameFiles
if exist %Windir%\system32\wgalogon.old del %Windir%\system32\wgalogon.old
if exist %Windir%\system32\wgatray.old del %Windir%\system32\wgatray.old
:: 檢查相關(guān)的臨時(shí)文件是否已存在,若存在則刪之
Ren %Windir%\system32\WgaLogon.dll WgaLogon.old
if %errorlevel% neq 0 goto :Abort
Ren %Windir%\system32\WgaTray.exe WgaTray.old
if %errorlevel% neq 0 goto :Abort
:: 將相關(guān)文件改名,如果操作失敗則中斷程序
call :WriteUninstallStatus
:: 將卸載情況記錄到文件中
echo 步驟一完成。已重命名文件 WgaLogon.dll 和 WgaTray.exe。
ping -n 2 127.0>nul
goto :RebootPrompt
:: 需要重啟計算機
:Step2
:UnregisterServer
Regsvr32 %Windir%\system32\LegitCheckControl.dll /u
:: 將相關(guān)的服務(wù)注冊撤消
call :WriteUninstallStatus
:: 將卸載情況記錄到文件中
echo 步驟二完成。已撤消服務(wù) LegitCheckControl.dll。
ping -n 2 127.0>nul
goto :RebootPrompt
:: 需要重啟計算機
:Step3
:DeleteFiles
Del %Windir%\system32\wgalogon.old
Del %Windir%\system32\WgaTray.old
Del %Windir%\system32\LegitCheckControl.dll
:: 將相關(guān)的文件刪除
call :WriteUninstallStatus
:: 將卸載情況記錄到文件中
echo 步驟三完成。已刪除文件 wgalogon.old WgaTray.old 和 LegitCheckControl.dll。
ping -n 2 127.0>nul
:Step4
:DeleteRegistrySubkeys
set /a step=4
reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon" /f
reg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WgaNotify" /f
:: 將相關(guān)的子項從注冊表中刪除
call :WriteUninstallStatus
echo 步驟四完成。已刪除注冊表中相關(guān)的子項。
:: 將卸載情況記錄到文件中
ping -n 2 127.0>nul
:Step5
:UninstallDoneSuccessfully
echo.
echo 已完成對WGA的卸載!
del WGA卸載記錄.txt
pause>nul
exit
::::以下為程序所調用到的函數::::
:WriteUninstallStatus
:: 該函數用于將當前卸載情況記錄到文本文件中
echo WGA卸載已完成第 %step% 步>WGA卸載記錄.txt
set /p =更改文件名稱(chēng):<nul >>WGA卸載記錄.txt
call :IsCompleted %step%
set /p =撤消服務(wù)注冊:<nul >>WGA卸載記錄.txt
call :IsCompleted %step%
set /p =刪除相關(guān)文件:<nul >>WGA卸載記錄.txt
call :IsCompleted %step%
set /p =清除注冊信息:<nul >>WGA卸載記錄.txt
call :IsCompleted %step%
goto :EOF
:IsCompleted
:: 該函數用于判斷各個(gè)卸載步驟的完成情況
if %1 gtr 0 (
echo 已完成>>WGA卸載記錄.txt
set /a step-=1
) else (
echo 未完成>>WGA卸載記錄.txt
)
goto :EOF
:RebootPrompt
set /a TimerTick=9
echo.
echo 需要重啟計算機才能繼續下一步。
echo 請在計算機重啟后再運行該批處理,以便繼續完成對WGA的卸載。
set /p choice=是否現在就重啟? [Y/N]
if "%choice%"=="y" shutdown -r -t 15 -c 因卸載WGA的需要而重啟& exit
if "%choice%"=="Y" shutdown -r -t 15 -c 因卸載WGA的需要而重啟& exit
echo 稍后請手動(dòng)重啟計算機。
pause>nul
exit
:Abort
echo 程序中止。
echo.
echo 您確信您已經(jīng)安裝了WGA?
pause>nul
exit
::::::::::::::::::::::::::::::::
[創(chuàng )作日期:2008-03-07]
參考:
[1] 利用Windows系統自帶命令手工搞定病毒 360百科
[2] 進(jìn)程知識庫 KnowSky
[3] IP信息查看工具—ipconfig[DOC文檔] 中國教育人博客
[4] 百度百科 百度百科
[5] 如果你的系統不是正版的,不要安裝wga認證 百度知道
[6] How to disable or uninstall the pilot version of Microsoft Windows Genuine Advantage Notifications Microsoft Help and Support
目錄:
批處理的學(xué)習之一[前言]
批處理的學(xué)習之二[顯示篇]
批處理的學(xué)習之三[賦值 調用 參數]
批處理的學(xué)習之四[條件 循環(huán)]
批處理的學(xué)習之五[組合命令 管道命令]
批處理的學(xué)習之六[常用實(shí)例 上]
批處理的學(xué)習之七[常用實(shí)例 下]
批處理的學(xué)習之八[番外篇]
上次編輯 2008-08-14
聯(lián)系客服