作者:jpowe | 时间:2008-03-08 00:52 | 标题:[求助]用批处理删除文件的问题(已解决)
想用批处理删除c:\Documents and Settings\CCTV\My Documents\YYGH\DATA文件夹和子文件夹里面的文件,保留子文件夹,请帮忙!谢谢
cd c:\Documents and Settings\CCTV\My Documents\YYGH\DATA
del *.* /s /q 这是我写的,但是觉得有问题,
1.如果没有CCTV这个路径,会删除本机所有文件
2.如果这个脚本启动于C盘外的其他分区上,那么删除的是脚本启动目录下的所有文件 (不知道如何避免这种情况)
[ Last edited by jpowe on 2008-3-10 at 12:39 AM ]
作者:terse | 时间:2008-03-08 01:45
路径加“”试
作者:lovelymorning | 时间:2008-03-08 13:43
del /s /q "%USERPROFILE%\My Documents\YYGH\DATA\*.*"
这个是删除当前登陆用户的我的文档下的yygh\data文件夹以及下面子目录的所有文件
不管这个脚本放在哪里,删除的都是这个地方
作者:jpowe | 时间:2008-03-08 14:09
Originally posted by lovelymorning at 2008-3-8 01:43 PM:
del /s /q "%USERPROFILE%\My Documents\YYGH\DATA\*.*"
这个是删除当前登陆用户的我的文档下的yygh\data文件夹以及下面子目录的所有文件
不管这个脚本放在哪里,删除的都是这个地方
如果不是当前登陆用户,应该如何写?
作者:jpowe | 时间:2008-03-08 14:10
Originally posted by terse at 2008-3-8 01:45 AM:
路径加“”试
请问""如何加?有两行代码
不好意思.我是菜鸟,请帮忙.谢谢你了
作者:terse | 时间:2008-03-08 16:02
就一行应该可以
del “c:\Documents and Settings\CCTV\My Documents\YYGH\DATA\*.*” /s /q
作者:jpowe | 时间:2008-03-08 20:54
Originally posted by terse at 2008-3-8 04:02 PM:
就一行应该可以
del “c:\Documents and Settings\CCTV\My Documents\YYGH\DATA\*.*” /s /q
用del “c:\Documents and Settings\CCTV\My Documents\YYGH\DATA\*.*” /s /q 做的BAT文件运行无效 提示找不到路径
作者:suntb | 时间:2008-03-08 23:26
Originally posted by jpowe at 2008-3-8 00:52:
想用批处理删除c:\Documents and Settings\CCTV\My Documents\YYGH\DATA文件夹和子文件夹里面的文件,保留子文件夹,请帮忙!谢谢
cd c:\Documents and Settings\CCTV\My Documents\YYGH\DATA
del *.* /s /q 这是我写的,但是觉得有问题,
1.如果没有CCTV这个路径,会删除本机所有文件
2.如果这个脚本启动于C盘外的其他分区上,那么删除的是脚本启动目录下的所有文件 (不知道如何避免这种情况)
第2点的问题你可以在cd后加一个/d开关,也就是
cd /d "c:\Documents and Settings\CCTV\My Documents\YYGH\DATA"
第一个问题也就是说你无法确定这个CCTV文件夹是否存在?
作者:suntb | 时间:2008-03-08 23:34
刚才仔细看了下楼主的要求 发现有些自相矛盾
既然已经删除DATA文件夹了,又怎么会还存在子文件夹
是不是要删除这个DATA文件夹及其所有子文件夹下的文件,但是保留整个文件夹目录结构?
如果是这样的话,可以试试下面代码
@echo off
set pth=c:\Documents and Settings\CCTV\My Documents\YYGH\DATA
if exist "%pth%" (del /q /s "%pth%">nul) else (echo 不存在目标文件夹 "%pth%")
pause
[
Last edited by suntb on 2008-3-8 at 11:43 PM ]
作者:jpowe | 时间:2008-03-09 20:46
Originally posted by suntb at 2008-3-8 11:34 PM:
刚才仔细看了下楼主的要求 发现有些自相矛盾
既然已经删除DATA文件夹了,又怎么会还存在子文件夹
是不是要删除这个DATA文件夹及其所有子文件 ...
你的理解完全正确,你的CODE我也用过,很好.现在又有一个问题是我想加多几个删除的路径,应该如何写,麻烦你了.
比如:要删除
c:\Documents and Settings\CCTV\My Documents\YYGH\DATA
c:\Documents and Settings\CCTV\My Documents\YYGH\DA
因为\YYGH\ 路径下有些文件不想被删除,但要删除
\DATA\和\DA\下的文件和子文件夹下的文件.,请帮忙.谢谢
作者:suntb | 时间:2008-03-09 21:32
@echo off
set pth=c:\Documents and Settings\CCTV\My Documents\YYGH
for %%i in (DATA DA) do (del /q /s "%pth%\%%i" 1>nul)
pause
[
Last edited by suntb on 2008-3-9 at 09:33 PM ]
作者:jpowe | 时间:2008-03-09 22:08
Originally posted by suntb at 2008-3-9 09:32 PM:
@echo off
set pth=c:\Documents and Settings\CCTV\My Documents\YYGH
for %%i in (DATA DA) do (del /q /s "%pth%\%%i" 1>nul)
pause
[ Last edited by suntb on 2008-3 ...
请问中文名字的文件夹一样也可以在括号里面()添加吗?
作者:suntb | 时间:2008-03-09 22:50
删除c:\Documents and Settings\CCTV\My Documents\YYGH下所有子文件夹里面的文件,保留YYGH文件夹下的文件及其子文件夹结构
@echo off
set "pth=c:\Documents and Settings\CCTV\My Documents\YYGH"
for /r "%pth%" %%i in (.) do (if not "%%i"=="%pth%\." (del /q /s "%%i\*.*" 1>nul))
pause
作者:suntb | 时间:2008-03-09 22:51
这样是否符合楼主的要求了?
不需要指定子文件夹名 包括中文及带空格的子文件夹都能处理
作者:jpowe | 时间:2008-03-10 00:38
Originally posted by suntb at 2008-3-9 10:51 PM:
这样是否符合楼主的要求了?
不需要指定子文件夹名 包括中文及带空格的子文件夹都能处理
谢谢
suntb强大的处理能力!
作者:ftl491875892 | 时间:2010-11-07 20:42
想拜suntb为师 不知收徒弟不~