标题: [文件操作] [已解决]dos命令把原有的文件夹直接更改名字变成带点的畸形文件夹? [打印本页]
作者: qq36762686 时间: 2012-5-7 23:42 标题: [已解决]dos命令把原有的文件夹直接更改名字变成带点的畸形文件夹?
请写一下代码,谢谢了!
我只知道创建带点的畸形文件夹,md bb...\
但是我现在想要一个代码,必须要直接把原来的文件夹改名成 带点的畸形文件夹
请懂的好人帮下忙,谢谢了!!
作者: neorobin 时间: 2012-5-8 01:07
本帖最后由 neorobin 于 2012-5-8 01:27 编辑
回复 1# qq36762686 - @echo off & setlocal enabledelayedexpansion
- attrib -s -h -r "bb\*" /s /d
- 2>nul md bb...\
- for /f "tokens=3 delims=<>" %%a in ('dir /ad /x ^| findstr " bb\.\.$"') do (
- for /f "tokens=1" %%b in ("%%a") do (
- start "" "%%~fb"
- for %%s in (bb) do (
- for /f "tokens=*" %%d in ('dir bb\* /a-d /s /b') do (
- set "dest=%%d"
- set "dest=!dest:%%~fs=%%~fb!"
- for %%r in ("!dest!") do 2>nul md "%%~dpr"
- move "%%d" "!dest!"
- )
- )
- )
- )
- rd /s /q bb
复制代码
作者: qq36762686 时间: 2012-5-8 12:45
回复 2# neorobin
不好意思,好像运行效果不是很好。我在U盘根目录有一个文件夹为bb的文件夹,把您打给我的批处理放进U盘根目录后,运行它,之后发现bb文件夹还在,并且bb里面的子文件夹并没有改变,只有bb文件夹下的文件被剪切进了bb... 文件夹而已。能麻烦你再帮忙看看吗?谢谢!
作者: neorobin 时间: 2012-5-8 12:57
回复 3# qq36762686
也在 U 盘上测试了, 可以的. 不知你的系统如何
作者: dnfreeuser 时间: 2012-5-8 14:02
2楼的代码有点问题,如果BB目录内本来就含畸形目录的话,里面的文件会被删掉。
作者: neorobin 时间: 2012-5-8 14:16
回复 5# dnfreeuser
确实如此, 并未考虑多层 命名以点号结尾的 目录的情况
作者: qq36762686 时间: 2012-5-8 15:34
回复 6# neorobin
其实我的就是想把含有带点文件夹的文件夹又改名成带点文件夹,我想起多层(我是想用3层文件夹)隐藏的作用,这样的话隐藏文件的目录就不能用winrar查看到。
能麻烦你改改吗?
作者: dnfreeuser 时间: 2012-5-8 16:29
回复 7# qq36762686
7zip可以查看并改名,再多层含点的都可以,话说现在这样加密已经没什么用了,都知道的事了。
作者: neorobin 时间: 2012-5-8 17:04
回复 7# qq36762686
多层遍历 有点麻烦
下面是找出 点号结尾文件夹 的代码, 你自己尝试逐层查找, 逐层处理一下吧:- for /f "tokens=3 delims=<>" %%a in ('dir /ad/x ^| findstr /i "~.*\.$"') do (
- for /f "tokens=1,2" %%b in ("%%a") do (
- echo %%~fb,
- (echo %%c.)
- )
- )
复制代码
对于查找出的 文件夹的 短名称, 是可以用 CD 进入的, 然后可以在里面创建下一层文件夹, 再继续用这个方法找出它的 短名称, 再 CD 进入....
如果有固定的目录结构, 那么代码也无需遍历, 针对性地写出不用遍历的固定代码就行了
作者: qq36762686 时间: 2012-5-9 23:25
回复 9# neorobin
谢谢了,真的,谢谢了!
作者: gawk 时间: 2012-5-10 13:05
http://www.bathome.net/thread-3885-1-1.html
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |