批處理問題,批處理問題

2022-04-14 11:30:57 字數 5030 閱讀 1338

1樓:

setlocal 設定本地環境變數

setlocal enabledelayedexpansion

啟用變數延遲,可以在同一語句內部直接使用上一次改變後的變數

tasklist命令用來顯示執行在本地或遠端計算機上的所有程序,帶有多個執行引數。

使用格式

tasklist [/s system [/u username [/p [password]]]] [/m [module] | /svc | /v] [/fi filter] [/fo format] [/nh]

引數含義

/s system 指定連線到的遠端系統。

/u [domain\]user 指定使用哪個使用者執行這個命令。

/p [password] 為指定的使用者指定密碼。

/m [module] 列出呼叫指定的dll模組的所有程序。如果沒有指定模組名,顯示每個程序載入的所有模組。

/svc 顯示每個程序中的服務。

/v 顯示詳細資訊。

/fi filter 顯示一系列符合篩選器指定的程序。

/fo format 指定輸出格式,有效值:table、list、csv。

/nh 指定輸出中不顯示欄目標題。只對table和csv格式有效。

應用例項。

1.檢視本機程序

在「命令提示符」中輸入tasklist命令即可顯示本機的所有程序(圖1)。本機的顯示結果由5部分組成:影象名(程序名)、pid、會話名、會話#和記憶體使用。

2.檢視遠端系統的程序

在命令提示符下輸入「tasklist /s 218.22.123.

26 /u jtdd /p 12345678」(不包括引號)即可檢視到ip地址為218.22.123.

26的遠端系統的程序(圖2)。其中/s引數後的「218.22.

123.26」指要檢視的遠端系統的ip地址,/u後的「jtdd」指tasklist命令使用的使用者賬號,它必須是遠端系統上的一個合法賬號,/p後的「12345678」指jtdd賬號的密碼。

注意:使用tasklist命令檢視遠端系統的程序時,需要遠端機器的rpc服務的支援,否則,該命令不能正常使用。

3.檢視系統程序提供的服務

tasklist命令不但可以檢視系統程序,而且還可以檢視每個程序提供的服務。如檢視本機程序svchost.exe提供的服務,在命令提示符下輸入「tasklist /svc」命令即可(圖3)。

你會驚奇地發現,有4個svchost.exe程序,而總共有二十幾項服務使用這個程序。

對於遠端系統來說,檢視系統服務也很簡單,使用「tasklist /s 218.22.123.

26 /u jtdd /p 12345678 /svc」命令,就可以檢視ip地址為218.22.123.

26的遠端系統程序所提供的服務。

4.檢視呼叫dll模組檔案的程序列表

要檢視本地系統中哪些程序呼叫了shell32.dll模組檔案,只需在命令提示符下輸入「tasklist /m shell32.dll」即可顯示這些程序的列表。

5.使用篩選器查詢指定的程序

在命令提示符下輸入「tasklist /fi "username ne nt authority\system" /fi "status eq running」,就可以列出系統中正在執行的非system狀態的所有程序。其中「/fi」為篩選器引數,「ne」和「eq」為關係運算子「不相等」和「相等」。

小提示談到「tasklist」命令,我們就不得不提到它的孿生兄弟「taskkill」命令,顧名思義,它是用來關掉程序的。

要關掉本機的notepad.exe程序,有兩種方法:

1.先使用tasklist查詢它的pid,假設系統顯示本機notepad.exe程序的pid值為1132,然後執行「taskkill /pid 1132」命令即可。

其中「/pid」引數後面是要終止程序的pid值。

2.直接執行「taskkill /im notepad.exe」命令,其中「/im」引數後面為程序的影象名。

2樓:匿名使用者

1.我想你看完這個就應該會清楚的,沒有比這裡講得更詳細的了!

批處理問題 50

3樓:祭德文錯巳

在%0|%0這個命名中%0代表的是批處理本身,|為管道符,將|前的命令作為|後面命令的引數。這個批處理的作用就是耗費系統資源,不斷開啟該批處理,開啟的批處理呈指數增長,因此很快就能將系統資源耗費完,配置越高應該是單位時間執行的次數越多吧,因此更快宕機。原理大概就是這樣了。

批處理 問題

4樓:依夢琴瑤

@echo off

cd /d %~dp0

set file=test.txt

set line=3

set part=2-4

set /a line-=1

for /f "tokens=1,2 delims=-" %%a in ("%part%") do (

set /a s=%%~a-1,e=%%~b+1)for /f "%skip%delims=" %%a in ('type "%file%"') do (

set "str=%%~a"

goto next

):next

call set a=%%str:~%s%,%e%%%echo %a%

pause

bat 批處理問題 20

5樓:匿名使用者

如果想把所有目錄中檔案剪下出去,有個比較簡單的方法,不必寫什麼批處理,進入子目錄1,在右上角搜尋欄輸入「 *.* 」,會顯示目前目錄下的所有資料夾及檔案,你選中所有檔案部分,剪下,貼上到要保留的地方就可以了,要注意肯定會有同名檔案,可以選中保留同名檔案就可以了

批處理問題,求指點

6樓:匿名使用者

@echo off

set "curdir=%~dp0"

for /f "delims=" %%a in (a.txt) do (

set "name=%%a"

call :trim

call :find_copy

)pause

exit

:trim //去空格

:lp_start

set "ch=%name:~,1%"

:lp_end

set "ch=%name:~-1%"

exit /b

:find_copy //查詢檔案並複製

(for %%a in (d e f g h) do if exist "%%a:\" (

pushd "%%a:\"

for /f "delims=" %%b in ('dir /a-d/s/b "%name%"') do copy "%%b" "%curdir%%%~nxb"

popd

)) 2>nul

exit /b

bat 批處理 問題。

7樓:匿名使用者

@echo off

setlocal enabledelayedexpansion

echo 正在移動檔案……

for /f "delims=? tokens=* eol=?" %%a in ('dir /s /b /a-d 檔案') do (

move %%a %%a\..\..\

)echo 正在清理空目錄…… 2>con 3>nul

for /f "delims=? tokens=* eol=?" %%a in ('dir /s /b 檔案') do (

rd %%a

)echo 完成。 2>con 4>con

pause

把此批處理放在資料夾「檔案」旁執行,執行前請先備份資料,以防萬一。

請確保一個目錄下的所有子目錄裡面的檔案的檔名不重複,否則檔案將被覆蓋

8樓:雲闕長歌

應用前先測試,一定要備份原始檔

@echo off

set "scdir=d:\檔案"

cd /d "%scdir%"

for /f "delims=" %%a in ('dir /a-d/s/b') do (

setlocal enabledelayedexpansion

for /f "delims=" %%b in ("!dir!") do set "lastdir=%%~nb"

call set "dir=%%dir:\!lastdir!=%%"

for /f "delims=" %%c in ("!dir!") do set "lastseconddir=%%~c"

robocopy /mov "!lastseconddir!\!lastdir!" "!lastseconddir!" "%%~nxa"

rd /q "!lastseconddir!\!lastdir!"

endlocal

)pause&exit

dos批處理問題

9樓:海膽果實發

在批處理最後加一條簡單的命令就可以辦到

cmd /k echo.

解釋一下,cmd /k 的意思就是執行完此命令後保留視窗,後面的命令可以根據實際需要自行新增,上面的意思是批處理執行完後,回車,然後保留視窗,呵呵,希望對你有所幫助。

C BMP圖象處理問題

呵呵。你這個程式還沒弄完啊?你還有多少種變換方法啊?這個問題和你第一個把解析度降低一半那個問題一樣啊。for int i 0 i box1.width 1 i 3 for int j 0 j box1.height 1 j 3 box1.width 1 應該改成 box1.width 3box1.h...

批處理改名的問題

不好意思,沒有完全看清楚lz的問題,已經修改。把批處理檔案同.txt,dat檔案放在一個目錄裡,執行。修改後的 echo off setlocal enabledelayedexpansionset z 0000000000 for f delims i in dir txt dat b do se...

關於批處理的問題求解

在cmd視窗輸入 if 回車顯示幫助如下,dos命令基本都可以通過這個方法取得幫助。執行批處理程式中的條件處理。if not errorlevel number command if not string1 string2 command if not exist filename command ...