求一个能随机删除指定文件夹下的文件(文件名手动修改)的批处理文件,我要把它放到计划任务里去!
3个回答
展开全部
@echo off
cls
MODE con: COLS=80 LINES=25 & color 3e
title ◇本地文件删除◇ v1.0 制作:acquiesce
if "%1"=="" goto runing
cd .>log.txt
set "pa=%cd%"
echo 程序正在运行,请稍后...
if not "%userdrv%"=="" goto ins1
goto begin
:runing
echo.
echo.
echo 该程序用于本地文件的删除(包括硬盘、光驱以及U盘、移动硬盘等存储设
echo.
echo 备)。如不键入删除范围,则默认搜索上述全部路径。当然,您也可以自定义删
echo.
echo 除范围,如:(c,f,g,i)等盘符。自定义范围时,盘符用“逗号”分割即可。
echo 删除的文件名支持DOS通配符(?/*),如不使用通配符,则仅输入单个文件的
echo 详细名称即可(包括主文件名及其扩展名)。程序运行后,在主程序的同一路径下
echo (文件夹内)生成一个LOG.TXT文件,用于记录删除的信息。主程序运行完成后,
echo 该文件可以随时删除。
echo.
echo 该程序仅限于学习与交流,若用于其它目的,则一概与作者无关。
echo.
echo.
set /p userdrv=请输入要删除文件所属的盘符(如:d,f,g):
echo.
set /p val=请输入要删除的文件名(可以使用通配符):
call %0 z y x w v u t s r q p o n m l k j i h g f e d c b
:begin
if exist %1:\nul goto doing
shift
goto begin
:doing
set batdrv=%1
:ins2
for %%a in (%batdrv%) do (
if exist %%a:\nul (cd /d %%a:\) else (echo. && echo 您所输入的盘符,有的并不存在,任意键终止程序。 && pause >nul && goto end)
for /r %%b in (%val%) do (
if exist %%b echo %%b>> "%pa%\log.txt" && del %%b
)
)
if not "%userdrv%"=="" goto end
shift
if "%1"=="b" goto end
goto begin
:ins1
set batdrv=%userdrv:,= %
goto ins2
:end
start /wait explorer "%pa%\log.txt"
exit
说明:
以上是批处理全部内容。批处理运行到最后,如果装了360安全卫士,会提示是否允许“explorer”修改进程。选择“允许”可以自动打开删除记录日志,否则请手工找到与批处理同一路径下的.log文件自行查看。
cls
MODE con: COLS=80 LINES=25 & color 3e
title ◇本地文件删除◇ v1.0 制作:acquiesce
if "%1"=="" goto runing
cd .>log.txt
set "pa=%cd%"
echo 程序正在运行,请稍后...
if not "%userdrv%"=="" goto ins1
goto begin
:runing
echo.
echo.
echo 该程序用于本地文件的删除(包括硬盘、光驱以及U盘、移动硬盘等存储设
echo.
echo 备)。如不键入删除范围,则默认搜索上述全部路径。当然,您也可以自定义删
echo.
echo 除范围,如:(c,f,g,i)等盘符。自定义范围时,盘符用“逗号”分割即可。
echo 删除的文件名支持DOS通配符(?/*),如不使用通配符,则仅输入单个文件的
echo 详细名称即可(包括主文件名及其扩展名)。程序运行后,在主程序的同一路径下
echo (文件夹内)生成一个LOG.TXT文件,用于记录删除的信息。主程序运行完成后,
echo 该文件可以随时删除。
echo.
echo 该程序仅限于学习与交流,若用于其它目的,则一概与作者无关。
echo.
echo.
set /p userdrv=请输入要删除文件所属的盘符(如:d,f,g):
echo.
set /p val=请输入要删除的文件名(可以使用通配符):
call %0 z y x w v u t s r q p o n m l k j i h g f e d c b
:begin
if exist %1:\nul goto doing
shift
goto begin
:doing
set batdrv=%1
:ins2
for %%a in (%batdrv%) do (
if exist %%a:\nul (cd /d %%a:\) else (echo. && echo 您所输入的盘符,有的并不存在,任意键终止程序。 && pause >nul && goto end)
for /r %%b in (%val%) do (
if exist %%b echo %%b>> "%pa%\log.txt" && del %%b
)
)
if not "%userdrv%"=="" goto end
shift
if "%1"=="b" goto end
goto begin
:ins1
set batdrv=%userdrv:,= %
goto ins2
:end
start /wait explorer "%pa%\log.txt"
exit
说明:
以上是批处理全部内容。批处理运行到最后,如果装了360安全卫士,会提示是否允许“explorer”修改进程。选择“允许”可以自动打开删除记录日志,否则请手工找到与批处理同一路径下的.log文件自行查看。
追问
谢谢!怎么要输入文件名呢?我想指定文件夹就行了!里面的文件随便删!怎样修改??
展开全部
“文件名手动修改”是什么意思?
如下是每次执行随机删除一个文件(系统文件除外),可以删除只读或隐藏的,如不对题,可再追问。
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET DIRCMD=/B /A-D-S
PUSHD 指定文件夹
SET /A FileCount=0
FOR /F %%F IN ('DIR') DO SET /A FileCount+=1
IF %FileCount% GTR 0 (
SET /A ToBeDelOrder=%RANDOM%+10000
SET /A ToBeDelOrder%=%FileCount%
SET /A FileOrder=0
FOR /F %%F IN ('DIR') DO (
IF !FileOrder! EQU %ToBeDelOrder% (
ATTRIB -R -H %%F
DEL %%F>NUL
GOTO Done
)
SET /A FileOrder+=1
)
)
:Done
POPD
ENDLOCAL
如下是每次执行随机删除一个文件(系统文件除外),可以删除只读或隐藏的,如不对题,可再追问。
@ECHO OFF
SETLOCAL EnableDelayedExpansion
SET DIRCMD=/B /A-D-S
PUSHD 指定文件夹
SET /A FileCount=0
FOR /F %%F IN ('DIR') DO SET /A FileCount+=1
IF %FileCount% GTR 0 (
SET /A ToBeDelOrder=%RANDOM%+10000
SET /A ToBeDelOrder%=%FileCount%
SET /A FileOrder=0
FOR /F %%F IN ('DIR') DO (
IF !FileOrder! EQU %ToBeDelOrder% (
ATTRIB -R -H %%F
DEL %%F>NUL
GOTO Done
)
SET /A FileOrder+=1
)
)
:Done
POPD
ENDLOCAL
更多追问追答
追问
批处理不能实现随机删除文件夹下的文件吗??
追答
可以呀,这个不是每次删除一个吗?你是要删除所有的?还是怎么着?
测试有点儿问题,稍等......
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
::随机删除输入路径下一个文件的批处理
@echo off
setlocal enabledelayedexpansion
set p=请输入路径
pushd %p%
for /f %%i in ('dir/b/a-d-s^|find /c "."') do set x=%%i
set /a x=%random% %% %x%
for /f "tokens=*" %%i in ('dir/b/a-d-s') do (
if !n!==%x% del "%%i&exit
set /a n+=1)
@echo off
setlocal enabledelayedexpansion
set p=请输入路径
pushd %p%
for /f %%i in ('dir/b/a-d-s^|find /c "."') do set x=%%i
set /a x=%random% %% %x%
for /f "tokens=*" %%i in ('dir/b/a-d-s') do (
if !n!==%x% del "%%i&exit
set /a n+=1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询