⑴ 批处理 复制除指定文件夹外的所有文件和文件夹
@echooff
set"spath=d:AB"%需要复制的目录%
set"spath_target=e:abc"%复制的目标目录%
set"ignore_target=data"%排除的目录%
for/f"delims="%%1in('dir/s/b%spath%')do(
ifnot%%~nx1==%ignore_target%(%判断是否包含data文件夹,如果包含则跳过%
ifexist"%%1"(%判断是文件夹还是文件,如果是文件夹,则用x复制文件夹,否则用复制文件%
echo正在复制文件夹-%%1
echod|x/e/y"%%1""%spath_target%\%%~p1\%%~nx1">nul2>nul
)else(
echo正在复制文件-%%1
"%%1""%spath_target%\%%~p1\%%~nx1">nul2>nul
)
)
)%有几个左括号就得有几个右括老没虚号括起来%
pause%暂停批处理%
::>nul表示忽略正确的结果,2>nul表示忽略错误的结果,一起使用就是完全屏蔽执行结果.(屏蔽等不必要的返回结果)
::%spath_target%\%%~p1\%%~nx1的执行结果是e:abc\%%~p1(代表for循环返回结果,p[变量]=路径,不包括盘符)
::%%~nx1的执行结果是e:abc###文件名+文件后缀名(xxx.xxx).如果是文件夹的话这里的x1没有任何作用的.是我偷懒复制上去的
::%%~nx1n=namex=suffix,参数可以是n1或x1也可以是nx1这里的1代表变量名
::%%1是完整执行结果,不含参数
::delims=忽略循环中的空格部分
::或x文件/文件夹目标文件/文件夹
::复制文件
::x可以复制文察春件也可以文件夹,只不过这里的x不能同时处理文侍燃件或文件夹,所以要用2个命令来分开处理
::echod|表示自动执行参数操作(如果文件夹不存在则自动创建文件夹,无需手动操作)
::x/e表示即使是空的文件夹也复制./y表示直接确定复制,无需确认
::详细的处理结果可以在菜单-运行-输入cmd,打开cmd窗口后,输入或x、if等显示帮助信息(包括一些参数指令的作用)
⑵ 使用bat批处理把D盘中除game文件夹以外的所有文件和文件夹都删除,怎么写bat语句,求助一下午都没百度出
不清楚你的实际文件/情况,仅以问题棚中中的样例/说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI
@echooff
rem删除指定目录下除了指定名称的子文件夹之外的其他所有文件和子文件夹
set#=Anyquestion&set@=WX&set$=Q&set/az=0x53b7e0b4
title%#%+%$%%$%/%@%%z%
set"folder=D:"
ifnotexist"%folder%"(echo;"%folder%"notfound&gotoend)
for/f"delims="%%ain('手和带dir/a-h/b"%folder%"')do(
毕芦set"f="
for%%bin(
"game"
)do(
if/i"%%~nxa"equ"%%~b"setf=true
)
ifnotdefinedf(
echo;"%folder%\%%~nxa"
ifexist"%folder%\%%~nxa"(
rd/s/q"%folder%\%%~nxa"
)else(
del/a/f/q"%folder%\%%~nxa"
)
)
)
:end
echo;%#%+%$%%$%/%@%%z%
pause
exit
⑶ 删除某个文件夹里面的所有文件的bat命令
删除某个文件夹里面的所有文件的bat命令。
下面以删除G盘下面文件夹“0”的所有文件为例。
方法步骤如下:
1、打开相关文件夹,可发现文件夹中有相关文件。
⑷ bat如何复制指定目录下的所有文件,包括子目录内的所有文件到另一个目录,并且排除指定文件夹
将下列内容复制首信到文本中,notCopy这里表示不复盯态制的目录,修改后保存,格式修改为bat或者cmd,双击运行即可
@echo off
set "notCopy=目录1,目录2,目录3"
set src=D:\a
set dest=D:\b
cd /d %src%
for /f "tokens=*" %%i in ('dir /B %src%') do (
echo %notCopy%|findstr "%%i">nul||(echo %%~ai|findstr "d">nul && x %%~fi\* %dest%\%%~ni\ /E /Y || x %%~fi %dest%\ /凯芹源S /Y)
)
⑸ bat处理除了指定名称文件夹,其他的文件夹都删除
@echooff
::设置要保留的文件夹名拦者晌,多个文件夹之间用英文逗号隔开,如果包含空格或英文逗号,英文&以及其它一些嫌派特殊字符的名字,请把该完整名字用英文双引号括起来
setSaveName=001,002,003,004
::设置文件夹处理目录
setDirPath=E:Test
(for%%ain(%SaveName%)doecho%%~a)>简锋"%tmp%Save.List"
cd/d"%DirPath%"
for/d%%ain(*)do(
findstr/bei"%%~nxa""%tmp%Save.List">nul2>nul||rd/s/q"%%~a"
)
pause
手机编写,尚未尝试,请另外准备一些文件夹测试一下,通过后再去实际文件夹中执行。
⑹ bat命令我要删除某个文件夹下所有的文件,除了某个或者某几个文件夹
mdD:is$
moveD:isaaabbbD:is$
rd运消亏旁神/s/q桥陪D:isaaa&mdD:isaaa
moveD:is$bbbD:isaaa
rdD:is$
pause
⑺ BAT查找当前目录下某个后缀的文件,但排除查找某个文件夹
用find 筛选
如
SET"排除目录=文件夹C"
FOR/F"delims="%%iIN(`DIR/s/b*.hex^|find皮腊/v"%cd%\%排除目燃握滑录%"皮御`)DO(
echo,%%i
)
⑻ bat删除指定目录下的所有文件(包括文件夹)、
操作拦毕唤步骤如下:
1、新建记事本文件,输入:
@echo off
cd /d "C:lizi"
del /s /q /f *.*
for /d %%i in (*) do rd /s /q "%%i"
pause>nul
注意:本例操作的是C盘lizi文件夹;数裂
3、双击运行del.bat即可。
⑼ 怎么用bat删除某个文件夹下的文件 但除了某个文件或文件夹
删樱隐除排除我也不知道
看看我改过的bat
@echo off
echo 清除系统垃圾过程中,请稍等......
del /f /s /q C:\WINDOWS\prefetch\*.*
rd /脊档厅s /q C:\WINDOWS\temp & md C:\WINDOWS\temp
del /f /s /蠢春q "C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "C:\Documents and Settings\Administrator\Local Settings\Temp\*.*"
那些tem的备份文件不用每次都删除 隔一段时间再来删除
这样就可以不用经常=长时间了