标题: [文本处理] 【已解决】批处理如何全盘搜索获得DLL的详细路径 [打印本页]
作者: luckboy45 时间: 2024-11-8 16:18 标题: 【已解决】批处理如何全盘搜索获得DLL的详细路径
我有如下内容的list.txt
dl_peer_id.dll
dl_uac_tool.dll
DocShare.dll
download_engine.dll
down_dispatcher.dll
dphubt.dll
DWFShellExtension.dll
是获取的DLL名称,如何全盘搜索以上DLL,并获得其详细路径,最终输出成list1.txt,内容如下示意。
C:\WINDOWS\system32\down_dispatcher.dll
C:\WINDOWS\system32\CustomFace.dll
C:\WINDOWS\system32\dphubt.dll
C:\Program Files\ATI Technologies\DWFShellExtension.dll
D:\123\down_dispatcher.dll
作者: aloha20200628 时间: 2024-11-8 18:38
本帖最后由 aloha20200628 于 2024-11-9 09:59 编辑
回复 1# luckboy45
代码第三行设置要搜索多少个盘符根目录
假设 list.txt 总字符量不超过 8100 个字符 》为尽量提升 dir/b/s 一次性全盘搜索效率须尽量用满其命令行参数空间
- @echo off &setlocal enabledelayedexpansion &set "s=" &cd.>list1.txt
- for /f "delims=" %%a in (list.txt) do (set s=!s! "%%~nxa")
- for %%d in ("c:\", "d:\", "e:\") do (
- cd /d %%d &dir /b/s/a-d !s!>>"list1.txt"
- set "s=" &(for /f "delims=" %%a in (list1.txt) do echo,%%~nxa)>"0.0"
- for /f "delims=" %%a in ('findstr /ivg:"0.0" list.txt') do (set s=!s! "%%a")
- if not defined s goto[end]
- )
- :[end]
- del/q "0.0"&endlocal&pause&exit/b
复制代码
作者: luckboy45 时间: 2024-11-8 19:11
本帖最后由 luckboy45 于 2024-11-9 10:53 编辑
回复 2# aloha20200628
感谢你的热情帮助!代码运行提示“findstr无法打开list.txt”
问题应该出在DIR没有成功输出,即单独用(dir /b/s/a-d C:\abseil_dll.dll)>1.txt,能实现输出完整路径
于是修改成这样实现了详细路径的输出- setlocal enabledelayedexpansion &set "s=" &cd.>list1.txt
- for /f "delims=" %%a in (list.txt) do (set s=!s! "%%a")
- for %%d in ("c:\", "d:\", "e:\") do (
- cd /d %%d &(dir /b/s/a-d !s!)
- )>>list1.txt
复制代码
作者: 77七 时间: 2024-11-9 08:14
- @echo off
- cd /d "%~dp0"
- (for /f "delims=:" %%i in ('wmic logicaldisk get name ^| find ":"') do (
- 2>nul dir /b /s /a-d "%%i:\*.dll" | findstr /lig:"list.txt"
- 2>nul dir /b /s /a-d "%%i:\windows\*.dll" | findstr /lig:"list.txt"
- )) > "out.txt"
- pause
复制代码
作者: aloha20200628 时间: 2024-11-9 10:10
回复 3# luckboy45
最近跟了楼主几个帖子,核心诉求就是要获取 *.dll 文件的全路径,已知有 msinfo/powershell/wmic 这些针对性方法,为何还要用最原始的 dir/b/s 全盘搜索呢?
作者: luckboy45 时间: 2024-11-9 10:49
回复 5# aloha20200628
目前我已经有多个方法获取DLL,只是多一种思路而已。再次感谢各位的帮助!~
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |