-
HandleV4.0.rar下载
资源介绍
freepdb.cmd文件解读
说明:@字符后面的是注释
if "%1"=="" ( @如果"%1"表示输入的参数如果为空,则进行如下处理
echo Usage: freepdb filename
echo This will free all handles of VS2003 on filename.pdb
echo Requires the Handle utility from Windows Sysinternals
goto :eof
)
cd /d "%~dp0" @进入freepdb.cmd文件所在的目录,因为需要使用的handle.exe和 @freepdb.cmd在同一个目录下
@以下部分说明:阅读时,请先查询dos命令 for的使用,第一个for循环来获取指定pdb文件的信息。
for /f "tokens=2,3 skip=5 delims=:" %%a in ('handle.exe -p devenv.exe "%1.pdb"') do (
for /f "tokens=1,4" %%c in ("%%a %%b") do (
handle -p %%c -c %%d -y >a.txt
)
)
exit /b 0
@第一个for循环的含义是:运行in后面的括号里的命令语句,将结果按照/f 后面的命令来筛选出来,
@@将到的结果分别放入了%%a, %%b中
@运行in后面括号中的语句后,得到的结果如下(调试我自己的程序打印出来的信息):
@devenv.exe pid: 8960 type: File B70:E:\work\MainClient\new_src\Release\3DStock.pdb
@然后取第2个字符串和第3个字符串,分别是(因为是通过“:”号来分割字符串的):
@8960 type
@File B70
@执行第2个循环语句
@第2个for循环,是从%%c(由%%a, %%b所合成的)中,取第一个字符串(默认通过空格来分割字符串)和第
@4个字符串
@运行in后面括号中的语句结果如下:
@ 8960 type File B70
@然后取第1个字符串和第4个字符串,分别放入%%c, %%d中(8960是进程的id,B70是文件的句柄)
@8960
@B70
@然后执行handle -p %%c -c %%d -y >a.txt命令
@即执行:handle -p 8960 -c B70 -y, 并将处理的结果存入a.txt ,存入文件是为了看到处理结果
@此命令是,杀掉指定进程ID的使用的文件句柄
- 上一篇: 世界编程大赛冠军作品史上最牛代码
- 下一篇: 易和阳光购物商城 1.5.rar