最好先弄个测试文件夹以免搞错
批处理文件放要处理的总文件夹,会把所有该层以下各子层含有文件的文件夹改为带上所属中间层文件夹名移到批处理文件并列位置,然后删去空文件夹(实际是删去所有子文件夹) 我认为这样很好,如实在要指定一文件夹,把第二行前的::去掉并修改等号后内容
@echo off&setlocal enabledelayedexpansion
::set "np=e:\xx\xxx"
if not defined np set "np=%~dp0"
if "%np:~-1%"=="\" set np=%np:~,-1%
cd/d "%~dp0"
set "fnp=%np:\=\\%"
for /f "delims=" %%a in ('dir/s/b/ad^|findstr /ixv "%fnp%"^|sort/r')do (
rd "%%a" 2>nul&&echo 删除 %%a||(
set "s=%%~a"
set "ns=!s:%~dp0=!"
set "ns=!ns:\=-!"
ren "%%~a" "!ns!"
move "%%~dpa!ns!" "%np%"
echo %%~dpa!ns! =^>%np%))
pause
B. 如何删除多层文件夹
你用一下超级巡警的暴力删除。我以前也遇过类似的情况,我就是那么删除的。你可以网络一下“超级巡警”。软件类似360,里面的工具箱里暴力删除,你安装后右击那个文件夹也会有暴力删除的字样。楼主可以试下。
C. 批处理 按文件名自动创建多层文件夹并把文件放入该文件夹中
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行
@echooff
rem将文件名按指定字符分割成多段并创建多层目录及移动文件到新建的相对应的目录里
modeconlines=3000
set#=Anyquestion&set@=WX&set$=Q&set/az=0x53b7e0b4
title%#%+%$%%$%/%@%%z%
cd/d"%~dp0"
for/f"delims="%%ain('dir/a-d/b*_*_*.*')do(
for/f"tokens=1,2delims=_"%%bin("%%~na")do(
ifnotexist"%%b\%%c"md"%%b\%%c"
echo;"%%a"--^>"%%b\%%c"
move"%%a""%%b\%%c"
)
)
:end
echo;%#%+%$%%$%/%@%%z%
pause
exit
D. vba提取多层文件夹的*.xls文件,根据获取到的文件名及路径逐个打开*.xls文件,去判断某几列有多少个数据
一、所需DOS命令
dir [drive:][path] /b > [drive:][path]filename
二、应用实例
如下图,在D盘中,有一个名称为“TQIPC”的文件夹,这个文件夹里面,存放了很多的照片!
看到了没有,文件夹中的照片名称,自动就显示在excel表格中了!
该dos命令非常强大,用好dos命令,可省去我们很多的功夫。
三、知识扩展
下面,再给大家一个例子,即,自动根据照片(根据人物名称),建立文件夹。
如果某个文件夹下面,您存放的是某些人物的照片,并且,每个人物的照片,都使用其名字来命名;这个时候,如何要自动根据人物的自动建立其对应的文件夹,也相当方便!
操作的方法是,先根据上述的方法,获取所有人物的照片的名称,生成EXCEL文件;
然后,在人物名称列前面,插入一列,并输入MD;
接下来,使用查找替换功能,将excel文件中的人物名称,去掉扩展名(只保留名字);
最后,将excel的内容,复制粘贴到记事本中,现在,我们就得到了形如:“MD人物名称”这样的命令格式了。(md 文件名称,该命令格式,是使用来建立文件夹的命令,上述的操作,都是为此做准备!)
将记事本文件保存成为形如:124.bat格式的文件,最后,双击此文件,文件夹名称就自动建立好了!
E. 一个文件夹里有多层文件名称,只想保留第一层和最后一层文件夹里的内容,中间的全部
文件夹是删掉的话,下级的全部都没有了
所以你只需要把最后一层的子目录和文件剪切复制到第一层目录,然后其他的全部删除即可
F. 多层文件夹 删不掉怎么办
单击开始—运行-输入CMD-回车 出现一个窗口 输入 rd/s/q+空格+所要删除的文件 如
rd/s/q D:\xxx\xx\x 如果有很多子文件夹 那么你只需要输入最上面一层的那个
G. 提取多层文件夹内容到一个文件夹下
进入最外层的文件夹
比如
文件夹A包含文件夹B、文件夹C、文件夹D,
文件夹B、文件夹C、文件夹D分表包含文件夹1、文件夹2、文件夹3...,
那就进入文件夹A,然后打开搜索,在此文件夹范围内搜索,搜索内容填 *.* (不包含空格),搜索到的东西就是此文件及子文件夹下所有的文件,不管文件名是什么,文件后缀是什么,都会列在搜索结果里,然后ctrl+A全选,复制,然后粘贴到你想要放的文件夹内就好了。
H. 怎么样用bat批处理给多级文件夹下的文件名加指定前缀
批量在文件名前面添加前缀的方法
第1,打开电脑上已经安装好的优速文件批量重命名,如下图所示点击【添加文件】或【添加目录】按钮,将需要加前缀的文件全部导入到软件中,进入下一步操作。
I. 怎么给多层子文件夹下的文件加上所以文件夹名称为前缀
对于这个问题,很好处理,各种文件夹有各种文件夹的名称,将所有文件夹放在一起,而后分类将各种分类加在一起,这就可以了
J. 怎样批量建立文件夹下面N个子文件夹
答1:可以不反复进出各子目录,只是写bat文件的时候,需要把子目录名字重复几遍而已。
答2:首先,md这个命令可以批量创建,但是相邻两个文件夹的创建地址和名称都是由空格隔开的,所以如果文件夹名称里带有空格的话,这个文件夹名字还得用双引号括起来。
根据你的描述,你希望的结果是:md20175月20176月
另外,你有提到希望批量建立子文件夹。
我常用的方法是,用excel结合cmd。批量建立有规律的子文件夹的话,比如漫画目录“第XX话”这种的,直接在Excel里面利用自动填充+简单的字符串拼接,就可以把md语句写好,然后直接复制做成bat,还是挺简单的。 如果子文件夹命名不太规律,那可能还是得手动输入。或者使用一些excel里跟字符串有关的公式啥的。 这里不展开说了。
至于多层层级,就是继续往后加斜杠,比如“md 20175月上旬20175月下旬” 就是在“2017”文件夹中的“5月”文件夹内,再建立两个文件夹:“上旬”和“下旬”。(这个如果批量数量很多的话,也可以利用excel完成。)