[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

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

请懂的好人帮下忙,谢谢了!!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 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
复制代码

TOP

回复 2# neorobin


    不好意思,好像运行效果不是很好。我在U盘根目录有一个文件夹为bb的文件夹,把您打给我的批处理放进U盘根目录后,运行它,之后发现bb文件夹还在,并且bb里面的子文件夹并没有改变,只有bb文件夹下的文件被剪切进了bb... 文件夹而已。能麻烦你再帮忙看看吗?谢谢!

TOP

回复 3# qq36762686

也在 U 盘上测试了, 可以的. 不知你的系统如何

TOP

2楼的代码有点问题,如果BB目录内本来就含畸形目录的话,里面的文件会被删掉。

TOP

回复 5# dnfreeuser

确实如此, 并未考虑多层 命名以点号结尾的 目录的情况

TOP

回复 6# neorobin


    其实我的就是想把含有带点文件夹的文件夹又改名成带点文件夹,我想起多层(我是想用3层文件夹)隐藏的作用,这样的话隐藏文件的目录就不能用winrar查看到。
   能麻烦你改改吗?

TOP

回复 7# qq36762686


    7zip可以查看并改名,再多层含点的都可以,话说现在这样加密已经没什么用了,都知道的事了。

TOP

回复 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 进入....
如果有固定的目录结构, 那么代码也无需遍历, 针对性地写出不用遍历的固定代码就行了
1

评分人数

    • qq36762686: 谢谢高手的热心,谢谢!技术 + 1

TOP

回复 9# neorobin


    谢谢了,真的,谢谢了!

TOP

TOP

返回列表