无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5152|回复: 11
打印 上一主题 下一主题

[求助] 如何删除动态的子文件夹

[复制链接]
跳转到指定楼层
1#
发表于 2017-5-8 08:56:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求教各位大神:

我们每周一次会往 D:\Boost\Priceline 下面放一个以当天日期命名的文件夹,这个文件夹下面会放一些csv 文件。 比如今天会放一个名字为20170508的文件夹,下面会有些csv. 下周会有另外一个文件夹比如20170517。每周循环日期不固定。

由于我们把csv文件用 move命令剪切到我们的服务器后,需要把 D:\Boost\Priceline  下面的文件夹删掉 (删除 文件夹20170508),但是要保留D:\Boost\Priceline。

请问如何用cmd 命令 删除 D:\Boost\Priceline 下面的动态的子文件夹呢?

因为如果用rd D:\Boost\Priceline /S /Q , 会把 Priceline文件夹也删掉,这是不允许的。而且不能删掉再建,因为Priceline文件夹我们已经给过权限给用户放文件,用md的话,权限会消失吧。。
2#
发表于 2017-5-8 09:43:54 来自手机 | 只看该作者
先删除整个文件夹,再建立一个不就OK了?
回复

使用道具 举报

3#
发表于 2017-5-8 10:17:56 | 只看该作者
可以试试:FOR /f %%i in ('DIR /b /ad D:\Boost\Priceline\20*') do (RD /s /q D:\Boost\Priceline\%%i)
回复

使用道具 举报

4#
发表于 2017-5-8 11:10:50 | 只看该作者
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION

FOR /F "delims=" %%I IN ('dir /B /S "D:\Boost\Priceline\*.csv"') DO (
move "%%I" 目的文件夹
set p=%%~DPI
if not exist "!p!mayrddir.cmd" (echo RD "!p!" /Q /S >>"!p!mayrddir.cmd")
)


FOR /F "delims=" %%I IN ('dir /B /S "D:\Boost\Priceline\mayrddir.cmd"') DO (
call "%%I"
)
pause
回复

使用道具 举报

5#
 楼主| 发表于 2017-5-8 11:15:03 | 只看该作者
谢谢各位的解答。
我用的是如下命令,可以实现。 (虽然不理解这个命令)

for /f "tokens=*" %a in ('dir /b /ad /s D:\BOOST\Priceline^|sort /r') do rd "%a" /q 2>nul

点评

^|sort /r 这个没有必要加  详情 回复 发表于 2017-5-8 11:56
回复

使用道具 举报

6#
发表于 2017-5-8 11:56:56 | 只看该作者
cale 发表于 2017-5-8 11:15
谢谢各位的解答。
我用的是如下命令,可以实现。 (虽然不理解这个命令)

^|sort /r
这个没有必要加
回复

使用道具 举报

7#
发表于 2017-5-8 15:57:11 来自手机 | 只看该作者
应该可以
回复

使用道具 举报

8#
发表于 2017-5-8 19:07:31 | 只看该作者
frg521 发表于 2017-5-8 14:58
如果只要保留空白,进入目录,删除就可以了,不用绕弯路
cd/d f:\work && rd/s/q .
如果有用请贴到主楼分 ...

rd /s /q f:\work\.
为何不一句搞定?

点评

这两者的区别大了去了。 切换到该目录,然后删除,因当前目录正在使用,故会保留该目录,仅删除在目录下的文件夹 他这是巧妙利用了当前目录正在使用无法删除的原理,我原来也用过一次来着。  详情 回复 发表于 2017-5-8 19:55
回复

使用道具 举报

9#
发表于 2017-5-8 19:55:31 | 只看该作者
junyee 发表于 2017-5-8 19:07
rd /s /q f:\work\.
为何不一句搞定?

这两者的区别大了去了。

切换到该目录,然后删除,因当前目录正在使用,故会保留该目录,仅删除在目录下的文件夹
他这是巧妙利用了当前目录正在使用无法删除的原理,我原来也用过一次来着。

点评

同样能保留当前目录.  详情 回复 发表于 2017-6-1 19:52
回复

使用道具 举报

10#
发表于 2017-5-8 20:20:03 来自手机 | 只看该作者
是的,高手看门道。
回复

使用道具 举报

11#
发表于 2017-6-1 19:52:47 | 只看该作者
nttwqz 发表于 2017-5-8 19:55
这两者的区别大了去了。

切换到该目录,然后删除,因当前目录正在使用,故会保留该目录,仅删除在目录 ...
  1. rd /s /q f:\work\.
复制代码

同样能保留当前目录.
回复

使用道具 举报

12#
发表于 2017-8-16 17:00:01 | 只看该作者
无聊ing,回老帖。。。
  1. cd /d D:\Boost\Priceline & rd /s/q D:\Boost\Priceline
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-17 13:25

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表