找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 83915|回复: 27

[系统相关] 【已解决】批处理如何有效判断自身已经被运行?

[复制链接]
发表于 2019-1-23 09:12:53 | 显示全部楼层 |阅读模式
本帖最后由 noender 于 2019-1-23 14:46 编辑

有什么办法。可以判断自身批处理已经被运行呢。。。比如说,,,我有一个A批处理,,,运行过程中,,,我又双击了A这个批处理,结果。。它又被打开一个新窗口运行了,,这样就出现了一个相同的程序在同时运行的情况,我利用判断进程是可能 做到。。A批处理已经存在并运行的提示,,但是如果是改了这个A的文件名,,,再双击运行。。这样一来。。这个判断进程就失败了。。。。有什么好办法可以直接判断已经运行吗。。。。请大神帮助一下。。谢谢。
发表于 2019-1-23 09:18:49 | 显示全部楼层
代码开头先判断一下脚本的名称,比如一旦发现脚本不是 bathome.bat 就直接退出。
 楼主| 发表于 2019-1-23 09:38:17 | 显示全部楼层
回复 2# Batcher


    判断名字是指判断这个批处理文件名吗。???大神不太理解你指的意思是什么。。。哪还是要用判断进程来操作的吗。。
 楼主| 发表于 2019-1-23 09:39:46 | 显示全部楼层
回复 2# Batcher


    就是我上面说的哪样。如何是判断这个进程 中。是不是存在这个批处理的名字来操作的话。是可以实现。但是万一改了这个程序名。就一样是可以运行的。所以没有什么招了。。你的方法我不懂呀。。能说的具体一些的吗。主要是思路没有搞明白。
 楼主| 发表于 2019-1-23 10:05:16 | 显示全部楼层
  1. @echo off

  2. set name=%~n0

  3. if "%name%"=="3" (
  4. echo 对

  5. ) else (
  6. echo 错

  7. )


  8. pause
复制代码
回复 2# Batcher


大神你的意思。是不是这样操作呢。
 楼主| 发表于 2019-1-23 10:10:22 | 显示全部楼层
上面的操作过后。还是需要判断进程 。。这样是可以处理了。
发表于 2019-1-23 10:40:33 | 显示全部楼层
句柄占用
  1. @echo off 2>nul 3>>"%~f0"
  2. type "%~f0"
  3. pause
复制代码
发表于 2019-1-23 11:13:10 | 显示全部楼层
wmic process where name='cmd.exe' get commandline /value
然后判断就行了

这个命令还可以直接得到打包批处理自解压出来的bat路径
 楼主| 发表于 2019-1-23 11:49:31 | 显示全部楼层
回复 8# 老刘1号


    好的。我试试。。看看。。。。谢谢了。
发表于 2019-1-23 14:16:33 | 显示全部楼层
  1. tasklist /fi "windowtitle eq Batch-Name*" 2>nul|find /i "PID" && exit
  2. rem 避免重复运行
  3. title Batch-Name
复制代码
 楼主| 发表于 2019-1-23 14:38:55 | 显示全部楼层
回复 10# zhangzsky


    你的代码我测试了。一样可以打开的。不管我是不是改文件名。都是可以的。相同的也是可以的。
 楼主| 发表于 2019-1-23 14:40:37 | 显示全部楼层
回复 10# zhangzsky


    没有达到效果。。。不知道是不是我操作不对。
 楼主| 发表于 2019-1-23 14:46:10 | 显示全部楼层
句柄占用
WHY 发表于 2019-1-23 10:40



    此命令是可以有效实现,,同一个文件名,运行第二次的时候。直接提示已经被运行。。太谢谢你了。
发表于 2019-1-23 14:47:42 | 显示全部楼层
回复 6# noender


    是的,我的意思就是先判断批处理文件的名字,再结合你原来判断进程名的方法。
发表于 2019-1-23 15:16:38 | 显示全部楼层
回复 1# noender


    最终解决代码是?发出来看看,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 22:47 , Processed in 0.018456 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表