如何用批处理全盘搜索指定文件名,并获取其目录所有文件名路径

如何用批处理全盘搜索指定文件名,并获取其目录所有文件名路径,第1张

@echo off

for %%a in (d e) do (

for /f "tokens=" %%i in ('dir/s/b/ad %%a:\soft 2^>nul') do (

if exist "%%i \11aaini (

for /f "tokens=" %%j in ('dir/b "%%i\exe"') do set fn=%% 

echo reg add "hklm\software\microsoft\windows nt\currentversion\image file execution options\%fn%" /v debugger /t reg_sz /d qwertrexe /f

goto :eof)))

pause

使用wmic这个Windows管理工具就行了。

下面的语句能够直接取到含有内容中含有“360”的进程信息:

wmic process get Name,ExecutablePath,Handle|find "360"

如果您知道进程的名称,可以直接用wmic查询:

wmic process where(name="360trayexe") get executablepath

不过,不是所有进程的映像路径都能被查到,有些进程会自己隐藏该信息的。

我假设你要复制文件夹D:\ABC下所有的文件,包括子目录下的文件到D盘的CBA文件夹中。

新建文本文件,输入:XCOPY

D:ABC\

D:\CBA

/S

文件另存为1bat文件,保存类型选择所有文件。

注意:如果文件夹中有空格,则要用双引号把路径括起来。

方法/步骤

1

首先我们新建一个txt文本文档,右键空白地方(这里是桌面也可以是任何文件夹内)——新建——文本文档

2

双击打开刚才建立的文本文档,将以下代码复制到文本内

@echo off

for /f "delims=" %%a in ('dir /b/a-d/oN ') do echo %%a >>当前文件夹内文件名txt

3

修改我们想要得到的文本文档名——将代码内“当前文件夹内文件名”改成自己想要的,比如我们要得到文档名为MP3目录,则用“MP3目录”代替“当前文件夹内文件名”,之后点击保存

4

关闭文档,修改我们我们新建的文档的名称(不修改也可以,修改方便自己寻早和记忆),这里修改成“利用bat批处理来批量提取文件名”

5

将文档的拓展名txt修改成bat(不知道方法的可以百度修改文件拓展名),修改的时候会提示“如果改变文件扩展名,可能会导致文件不可用”,点击确认即可,这时候我们就得到我们想要的bat批处理命令了

6

将批处理文件复制或者剪切到要提取文件名的文件夹内(如小编的“心理FM0900期-0999期”文件夹内),双击或者右键打开bat批处理文件

7

这时候文件夹内就会生成一个“MP3目录”的文档(前面取的名字,如果需要改变可以将拓展名改回txt修改后再改成bat即可),双击打开,里面记录的便是我们需要的文件名了

@echo off&setlocal Enabledelayedexpansion

for /f "tokens=1,2,3 delims=- " %%i in ('date /t') do set Q=%%i%%j%%k

if not exist "d:\all" md "d:\all"

set M=d:\a,d:\b,C:\rui 01

set "M=!M: ='''''''''''!"

for %%a in (%M%) do (

set R=%%a

set "R=!R:'''''''''''= !"

for /f "delims=" %%i in ('dir /a /b /s "!R!"') do (

for /f "delims=" %%b in ('echo %%~nxi^|find /i "im ok"') do (

for /f "delims=" %%k in ('echo %%b^|find /i ""') do (

for /f "delims=" %%b in ('echo %%~nxi^|find /V "bak"') do (

attrib "%%i" -s -h -r

set /a I=0

for /f "delims=" %%c in ('type "d:\all\pathtxt"^|find /i "%%i"') do set /a I+=1

if !I!==0 (echo %%i>>"d:\all\pathtxt")

if exist "%%~dpi%%~nxibak" (copy "%%i" "%%~dpi[!Q!][!random!]%%~nxibak") else copy "%%i" "%%~dpi%%~nxibak"

if exist "d:\all\%%~nxi" (move "%%i" "d:\all\[!Q!][!random!]%%~ni%%~xi") else move "%%i" "d:\all\"

)))))

echo&echo ok&pause>nul

@echo off

call :abc E:\jdk6\srczip

pause>nul&exit

:abc

for /f "delims=" %%f in (%1) do set PPP=%~dp1

echo 路径为:%PPP%

=======================

@echo off

set /p a=请输入文件的完整路径,或直接把文件拖进来,然后按回车键:

call :abc "%a%"

pause>nul&exit

:abc

for /f "delims=" %%f in (%1) do set PPP=%~dp1

echo 路径为:%PPP%

BTW: 追问即可,不需那样补充。

Win 7 批量提取指定文件夹下的所有文件名称及其路径的方法如下:

1、在需要提取名称的文件夹中右键新建一个“文本文档”。

2、打开文本文档,在文档输入DIR /S/B >列表TXT。

3、将文本文档另存为“列表BAT”,保存在需提取文件名称的文件夹中。

4、双击存好的BAT文件“列表BAT”。

5、双击后,对话框会一闪出现后消失,之后会出现如图“列表TXT”文件。

6、打开“列表TXT”文件,即可看到文件夹内的名称及其路径都提取完毕。

以上就是关于如何用批处理全盘搜索指定文件名,并获取其目录所有文件名路径全部的内容,包括:如何用批处理全盘搜索指定文件名,并获取其目录所有文件名路径、批处理如何获取进程的映像路径、批处理,如何获取当前文件夹下所有文件的路径并复制到另一个文件夹下等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9472895.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存