
cmd調用執行exe程序后如何在進程中識別該程序正在執行是這樣的,我將ecloud這個可執行程序添加到環境變量中了,一直在批處理或者cmd里面直接執行ecloud.exe,而且用for語句實現軟件功能。現在有個問題,我需要添加一段判定ecloud是否在運行的條件,但是在cmd中直接執行的exe程序在tasklist中是看不到ecloud這個進程的,而是cmd.exe這個進程。如果調用start ecloud.exe的話,for語句不起作用。(受軟件本身原因)這情況下怎么辦才好?
- for /f %%i in ('Tasklist^|Findstr /i ecloud.exe') do (
- for /l %%a in (10,-1,1) do (
- cls
- echo 檢測到有ecloud進程,程序不做任何動作,將在%%a秒后重新檢測進程。
- ping 127.1 -n 2 >nul
- )
- goto :B
- )
- REM 判斷是否存在“完成”文件夾,如果存在,則開始for語句上傳。如果不存在,則創建“完成”文件夾
- if exist 完成 (
- goto upload
- ) else (
- md 完成
- )
- REM 遍歷目錄下的mkv文件并開始逐一上傳到天翼云盤里的“電影”文件夾,完成上傳后移動到“完成”文件夾中。注意:ecloud命令為github上的命令行執行文件,并添加到系統環境中執行的。
- :upload
- for /f delims= %%i in ('dir /a-d /os /b *.mkv') do (
- ecloud u %%~ni.mkv /電影
- move %%~ni.mkv 完成
- )
- REM將已完成上傳的mkv文件全部送進回收站中。
- binit 完成
- :C
- exit
nclick="copycode($('code0'));">復制代碼