是这样的,我将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
复制代码
|