windows – 如何使用批处理文件获取文件的属性
发布时间:2020-12-13 20:41:49 所属栏目:Windows 来源:网络整理
导读:我正在尝试制作批处理文件以从pendrive中删除恶意文件.我知道这些恶意文件主要使用隐藏,只读和系统属性来隐藏自己的用户.目前我通过删除恶意文件属性然后删除它来使用cmd删除这些文件.现在我想制作一个小批量文件,只需输入驱动器号即可用于删除这些文件. 我
我正在尝试制作批处理文件以从pendrive中删除恶意文件.我知道这些恶意文件主要使用隐藏,只读和系统属性来隐藏自己的用户.目前我通过删除恶意文件属性然后删除它来使用cmd删除这些文件.现在我想制作一个小批量文件,只需输入驱动器号即可用于删除这些文件.
我在网站上找到了这个代码来查找文件的属性.但是在输入文件名后,批处理文件才会退出而不显示任何结果. @echo off setlocal enabledelayedexpansion color 0a title Find Attributes in Files :start set /p atname=Name of the file: if not exist %atname% ( cls echo No file of that name exists! echo. echo Press any key to go back pause>nul goto start ) for /f %%i in (%atname%) do set attribs=%%~ai set attrib1=!attribs:~0,1! set attrib2=!attribs:~1,1! set attrib3=!attribs:~2,1! set attrib4=!attribs:~3,1! set attrib5=!attribs:~4,1! set attrib6=!attribs:~5,1! set attrib7=!attribs:~6,1! set attrib8=!attribs:~7,1! set attrib9=!attribs:~8,1! cls if %attrib1% equ d echo Directory if %attrib2% equ r echo Read Only if %attrib3% equ a echo Archived if %attrib4% equ h echo Hidden if %attrib5% equ s echo System File if %attrib6% equ c echo Compressed File if %attrib7% equ o echo Offline File if %attrib8% equ t echo Temporary File if %attrib9% equ l echo Reparse point echo. echo. echo Press any key to go back pause>nul goto start 你能告诉我为什么这个批处理文件退出而没有显示任何结果.或者您可以提供任何更好的批处理脚本来获取文件的属性. 编辑 我只能为一个文件处理上面的代码.因为我的批处理文件的目的是通过输入驱动器号来删除恶意文件.我如何使用它来查找特定驱动器中使用的属性文件类型. 例如: attrib *.* 谢谢你的帮助
我尝试了bat文件(没有检查细节),它似乎对我很好.我注意到,如果你没有用引号括起文件路径,它会立即关闭 – 例如“文件”.例:
Name of the file: pathfile.txt // this will close immediately Name of the file: "pathfile.txt" // now it will stay open and display the result 这有望解决您的问题. 就您在EDIT中的问题而言,一个简单的选择是迭代文件列表并在每个文件上执行批处理. batch1.bat:(%1引用第一个命令行参数) @echo off setlocal enabledelayedexpansion echo %1 set atname=%1 for %%i in ("%atname%") do set attribs=%%~ai set attrib1=!attribs:~0,1! cls if %attrib1% equ d echo Directory if %attrib2% equ r echo Read Only if %attrib3% equ a echo Archived if %attrib4% equ h echo Hidden if %attrib5% equ s echo System File if %attrib6% equ c echo Compressed File if %attrib7% equ o echo Offline File if %attrib8% equ t echo Temporary File if %attrib9% equ l echo Reparse point echo. echo. 接下来,生成给定路径中所有文件的列表(比如’包含所有子文件夹的’文件夹’): dir /s /b folder > ListOfFiles.txt main.bat(逐行读取ListOfFiles.txt并将每行传递给batch1.bat作为命令行参数): @echo off for /f "tokens=*" %%l in (ListOfFiles.txt) do (batch1.bat %%l) 然后,从cmd: main.bat >> output.txt 最后一步生成一个包含完整结果的输出文件.当然,这可以通过更精细(也可能更短)的方式完成,但这是您可以采取的一个明显方向. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-8 – 如何使用WinRT中的背景图片?
- 逆向工程 – 在拆卸dll时,IDA比visual studio有什么优势?
- VirtualBox Windows 10 64位主机 – VM会话已中止
- windows – WinAPI Unicode和ANSI函数
- 使用windows/dos shell/batch命令,如何获取文件并仅保留唯一
- windows – 如何用cmake指定带有空格的路径?
- 修改Windows 10 Universal Applications中每个应用程序的内
- windows-server-2008 – 在Windows Server中添加子域DNS记录
- windows – 为什么要参加Tech.Ed?
- windows文件夹嵌套太多,导致无法删除的解决方法
推荐文章
站长推荐
- windows-7 – 为什么Windows 7上的FIND会出现“拒
- NonSerialized 字段如果在dll 中读到数据写入Mon
- selenium – 在TeamCity代理的Windows服务下运行
- Windows API一日一练 54 WriteFile和ReadFile函数
- wpf – 剪贴板更改通知?
- 我可以在Windows Server 2003上运行.NET 4.0 Web
- ZOJ Problem Set - 2480 Simplest Task in Windo
- Windows – 转移角色后,Microsoft iSCSI目标服务
- windows-phone – 谷歌的新版reCaptcha在Windows
- Windows – 从WinForms到Powershell-Console
热点阅读