Board logo

标题: [文件操作] [已解决]dos命令把原有的文件夹直接更改名字变成带点的畸形文件夹? [打印本页]

作者: qq36762686    时间: 2012-5-7 23:42     标题: [已解决]dos命令把原有的文件夹直接更改名字变成带点的畸形文件夹?

请写一下代码,谢谢了!
我只知道创建带点的畸形文件夹,md bb...\
但是我现在想要一个代码,必须要直接把原来的文件夹改名成 带点的畸形文件夹

请懂的好人帮下忙,谢谢了!!
作者: neorobin    时间: 2012-5-8 01:07

本帖最后由 neorobin 于 2012-5-8 01:27 编辑

回复 1# qq36762686
  1. @echo off & setlocal enabledelayedexpansion
  2. attrib -s -h -r "bb\*" /s /d
  3. 2>nul md bb...\
  4. for /f "tokens=3 delims=<>" %%a in ('dir /ad /x ^| findstr " bb\.\.$"') do (
  5.   for /f "tokens=1" %%b in ("%%a") do (
  6.     start "" "%%~fb"
  7.     for %%s in (bb) do (
  8.       for /f "tokens=*" %%d in ('dir bb\* /a-d /s /b') do (
  9.         set "dest=%%d"
  10.         set "dest=!dest:%%~fs=%%~fb!"
  11.         for %%r in ("!dest!") do 2>nul md "%%~dpr"
  12.         move "%%d" "!dest!"
  13.       )
  14.     )
  15.   )
  16. )
  17. 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

多层遍历 有点麻烦
下面是找出 点号结尾文件夹 的代码, 你自己尝试逐层查找, 逐层处理一下吧:
  1. for /f "tokens=3 delims=<>" %%a in ('dir /ad/x ^| findstr /i "~.*\.$"') do (
  2. for /f "tokens=1,2" %%b in ("%%a") do (
  3. echo %%~fb,
  4. (echo %%c.)
  5.   )
  6. )
复制代码
对于查找出的 文件夹的 短名称, 是可以用 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