Board logo

标题: [文件操作] 批处理如何列出指定文件夹之外的其他文件夹? [打印本页]

作者: wbkl    时间: 2016-1-22 21:30     标题: 批处理如何列出指定文件夹之外的其他文件夹?

本帖最后由 pcl_test 于 2016-5-12 00:28 编辑

正常的目录结构是 5123xxx\5123xxx,且每个目录结构都应是如此,但不知道因为什么原因导致了5123xxx\文件夹下多出了其他类似的文件夹如5136xxx  5189xxx,想用批处理把这些不正常的目录名称找出来。谢谢!我只知道用用简单的for命令,但复杂的这个想不出来了。
作者: /zhqsystem/zhq    时间: 2016-1-22 23:19

回复 1# wbkl
  1. @echo off&(setlocal enabledelayedexpansion)>nul 2>nul
  2. set "#name#=5123"
  3. for /l %%i in (0,1,8192)do if /i not "!#name#:~%%i,1!"=="" set/a "n+=1"
  4. for /f "delims=" %%i in ('dir/ad/s/b/l/on "%~dp0"')do (
  5. set "#name_i#=%%~nxi"
  6. if /i "!#name_i#:~0,%n%!"=="%#name#%" (
  7.   echo,相同:%%i
  8. )else (
  9.   echo,不同:%%i
  10. )
  11. )
  12. pause
复制代码

作者: wbkl    时间: 2016-1-22 23:36

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims="  %%a in ('dir /b/ad 51*') do (
  3. set at=%%a
  4. cd /d %%a
  5. for /f "delims="  %%a in ('dir /b/ad 51*') do (
  6. set dc=%%a
  7. if "!at!" neq "!dc!" echo !dc! !at!
  8. )
  9. cd..
  10. )
复制代码
恶补了一晚上,自己整的,也不知道对不对,反复测试了一下 也有效果
作者: wbkl    时间: 2016-1-22 23:37

回复 2# /zhqsystem/zhq


    谢谢,现在终于感受到为什么都有 程序猿 喜欢熬夜了。。。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2