标题: [文件操作] 【已解决】怎样使用bat动态获取目录下[进程名v*.exe]后缀? [打印本页]
作者: 867258173 时间: 2017-12-18 14:50 标题: 【已解决】怎样使用bat动态获取目录下[进程名v*.exe]后缀?
本帖最后由 867258173 于 2017-12-18 20:11 编辑
比如我写了个程序,名为
a.exe
为了能够方便关闭,再写个bat关闭进程复制代码
为了分辨每次更新程序版本,我会每次加个后缀
a v1.0.exe
但每次更改后缀,都要去bat再去更改- taskkill /f /im a v1.0.exe
- taskkill /f /im a v1.1.exe
- taskkill /f /im a v1.2.exe
- taskkill /f /im a v....exe
复制代码
请问怎样才能更改进程名后,也能自动获取进程名v...到.exe之间的字段?
这样每次改了进程名都不用再改bat里的进程名,会更方便些
PS:不是通过使用set /P CHS= 手动输入的,而是自动获取的
作者: ivor 时间: 2017-12-18 15:16
复制代码
作者: 867258173 时间: 2017-12-18 16:10
本帖最后由 867258173 于 2017-12-18 16:12 编辑
回复 2# ivor
谢谢回复,刚随便找个应用程序改名测了下
把FSCapture.exe改成 FSCapture v1.exe
任务管理器显示的是这个改了的名称
然后运行- taskkill /f /im "FSCapture v*"
复制代码
已经是管理员运行,但没有关闭进程,说明并没有识别出进程名
作者: ivor 时间: 2017-12-18 18:26
本帖最后由 ivor 于 2017-12-18 18:27 编辑
回复 3# 867258173
我猜你v之前的空格打多了,要不就是字母打错了
作者: 867258173 时间: 2017-12-18 19:30
本帖最后由 867258173 于 2017-12-18 19:38 编辑
回复 4# ivor
虽然不是这个,但居然犯了另一个低级错误,,忘了编辑器都改成UTF-8格式了,包括txt,在cmd试了下才发现原因,OTL
总之关闭进程实现了
顺便请教下,如果要启动exe的话复制代码
这样会报系统找不到文件,请问这个该怎么处理呢?
作者: ivor 时间: 2017-12-18 19:45
回复 5# 867258173 - @for /f "delims=" %%a in ('dir /b "FSCapture v*"') do (start "" "%%a")
复制代码
作者: 867258173 时间: 2017-12-18 20:09
回复 6# ivor
_(:з」∠)_实现了,谢谢- @echo off
- rem echo start /min open a small window
- :logmenu
- title ★启动和关闭有版本后缀exe★ 2017-12-18
- color 1A
- rem elect menu
- echo ----------------------------------------------------------------------
- echo ★启动和关闭有版本后缀exe★
- echo.
- echo echo [1] 启动exe [2] 关闭exe
- echo echo [esc] 关闭
- echo ----------------------------------------------------------------------
- set /p chs= 请选择(Choose Please):
- echo.
- if /i "%chs%"=="1" (
- goto 启动exe
- )
- if /i "%chs%"=="2" (
- goto 关闭exe
- )
- if /i "%chs%"=="3" (
- goto null
- )
- if /i "%chs%"=="4" (
- goto null
- )
- goto esc
- goto 日志菜单(logmenu)
- rem ===============================================
- :启动exe
- rem 启动exe
- echo %chs%
- :: this这里更改exe版本前缀
- @for /f "delims=" %%a in ('dir /b "this v*"') do (start "" "%%a")
- pause
- cls
- goto 日志菜单(logmenu)
- rem ===============================================
- :关闭exe
- rem 关闭exe
- :: this这里更改exe版本前缀
- taskkill /f /im "this v*"
- pause
- cls
- goto 日志菜单(logmenu)
- rem ===============================================
- :关闭
- rem 关闭
- exit
- pause
- cls
- goto 日志菜单(logmenu)
- rem ===============================================
- :esc
- rem 关闭窗口
- rem pause
- exit
复制代码
这就是我想要实现的功能,其实要是再加个自己输入进程名前缀选项就更好了,不过这个目前已经实现需求了
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |