Windows批处理脚本用于取消病毒隐藏的文件

18

由于我看到许多人的文件被闪存驱动器病毒隐藏,我为他们提供一个使用attrib(或在Linux上使用)的Windows命令行,以解决当感染的文件被删除后它们的文件仍然“丢失”的问题。命令将删除文件和文件夹属性系统、隐藏和归档(实际上不需要):

attrib -s -h -a /s /d <drive letter>:\*.*

有人知道如何编写一个脚本,提示用户输入驱动器号或文件夹路径吗? 我已经看到一些软件可以做到这一点,但是我认为自己编写会更好。

谢谢!

[已解决] 使用Cheeso的代码作为基础解决了问题。

@ECHO OFF
ECHO "Enter Drive letter"
set /p letter=

attrib -s -h -a /s /d %letter%:*.*

[稍作改进]

@ECHO OFF
ECHO Type the drive letter. ONLY the letter.
ECHO ALL FILES ARE GOING TO BE MODIFIED!!!
set /p letter=

ECHO %letter%: selected
taskkill /im explorer.exe /f
ECHO.
ECHO "Modifying files..."
ECHO.

attrib -s -h -a /s /d %letter%:\*.*

ECHO "Process completed."

start explorer %letter%:
taskkill /im cmd.exe /f
4个回答

28
echo "Enter Drive letter" 
set /p driveletter=

attrib -s -h -a /s /d  %driveletter%:\*.*

奇怪的语法。谢谢,但是没有起作用。它显示未找到路径 - C:\users\user\desktop\driveletter: - msmafra
1
修改您的代码,它应该像这样工作: @ECHO OFF ECHO “输入驱动器号” set /p letter=attrib -s -h -a /s /d %letter%:*.* - msmafra

2

1
这将会显示您电脑上所有文件和文件夹的隐藏状态。
attrib -r -s -h /S /D

0

试试这个。希望它能正常工作.. :)

@ECHO off

cls

ECHO.

set drvltr=

set /p drvltr=Enter Drive letter: 

attrib -s -h -a /s /d  %drvltr%:\*.*

ECHO Unhide Completed

pause

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接