|  | 
 
| plp626 银牌会员
 
      钻石会员
 
 
 积分 2278
 发帖 1020
 注册 2007-11-19
 状态 离线
 | 
| 『楼 主』:
 文件整理
 
使用 LLM 解释/回答一下 
 
 
@goto code
 from plp626@cn-dos.net
 整理当前目录树下的文件(含隐藏文件)
 空目录,0字节文件删除,空畸形目录删除.
 支持特定文件保护功能.
 
 :code
 ::按扩展名整理当前目录树下的文件(包括隐藏的)
 @echo off
 mode con lines=20 cols=30
 title 正在分析文件...
 if "%cd%"=="%HOMEDRIVE%\" exit
 call :path
 if "%cd:~-1%"=="\" set cd=%cd:\=%
 ::设定受保护目录,该目录内的所有文件,子目录将不被整理
 set "protect=%cd%\zjw\"
 ::这定受保护文件...
 set "profile=%cd%\move mp3.bat"
 for /f "tokens=*" %%a in ('dir/ah/b/s 2^>nul') do attrib -h -s "%%a" >nul 2>nul
 for /r %%a in (*) do (
 if %%~za==0 del /a/f/q "%%a"
 if not "%%a"==%0 if not "%%a"=="%profile%" (
 if not "%%~dpa"=="%cd%\%%~xa_file\" if not "%%~dpa"=="%protect%" (
 call:m "%%~dpa" "%%~nxa" "%%~na" "%%~xa"
 )))
 for /f "delims=" %%a in ('dir/ad/s/b^|findstr /e "\."') do rd "%%a.\" 2>nul
 ::注意只读属性的空目录
 for /f "delims=" %%a in ('dir/ar/s/b 2^>nul') do attrib -r "%%a" 2>nul
 for /f "tokens=*" %%b in ('dir/ad/b/s^|sort /r') do rd "%%b" 2>nul
 pause
 goto:eof
 
 rem ---------  subprocess  ------------
 :m
 if exist "%~4_file\%~2" (call :rename %*) else set "n="
 :m1
 move "%~1%~2" "%~4_file\%~3%n%%~4" 2>nul||md "%~4_file" 2>nul&&goto:m1
 goto:eof
 
 :rename
 set "n=1"
 :loop
 if exist "%~4_file\%~3_%n%%~4" set/a n+=1&goto loop
 set "n=_%n%"&goto:eof
 
 ::备份
 :path
 set t=%time::=%
 set r=%HOMEDRIVE%\tree
 md %r% 2>nul
 md "%r%\%t:~,-3%"
 dir /a/b/s>>"%r%\%t:~,-3%\%t%.path"
 goto:eof
 @echo off&setlocal enabledelayedexpansion::抽取当前目录树下的文件.
 for /f "tokens=*" %%a in ('dir/a-h/b/s 2^>nul') do attrib -h -s "%%a" 2>nul
 for /r %%a in (*) do (
 if exist "%%~nxa" call :re "%%~na" "%%~xa"
 move "%%a" "%%~na!n!%%~xa"
 )
 goto :eof
 :re
 set "n=1"
 :loop
 if exist "%~1_%n%%~2" set/a n+=1&goto loop
 set "n=_%n%"&goto :eof
 ~~~~~~欢迎测试!~~~~~~@echo off&setlocal enabledelayedexpansion::抽取当前目录受内歌曲文件到指定路径
 set "file=*.mp3 *.wma"
 set "drive=%cd%\"
 set "U=F:\entertainment\music\"
 for /r "%drive%" %%a in (%file%) do (
 if exist "!U!%%~nxa" call :re "%%~na" "%%~xa"
 move "%%a" "!U!%%~na!n!%%~xa"
 )
 goto :eof
 :re
 set "n=1"
 :loop
 if exist "!U!%~1_%n%%~2" set/a n+=1&goto loop
 set "n=_%n%"&goto :eof
 
 Last edited by plp626 on 2008-5-5 at 04:06 PM ] 
 
 
 
 
 |  
                  |  山外有山,人外有人;低调做人,努力做事。
 
 进入网盘(各种工具)~~ 空间~~cmd学习
 |  | 
|  2008-3-5 23:00 |  | 
|  | 
 
| plp626 银牌会员
 
      钻石会员
 
 
 积分 2278
 发帖 1020
 注册 2007-11-19
 状态 离线
 |  | 
|  2008-3-6 23:56 |  | 
|  | 
 
| plp626 银牌会员
 
      钻石会员
 
 
 积分 2278
 发帖 1020
 注册 2007-11-19
 状态 离线
 |  | 
|  2008-3-7 00:49 |  | 
|  | 
 
| lxmxn 版主
 
         
 
 
 积分 11386
 发帖 4938
 注册 2006-7-23
 状态 离线
 |  | 
|  2008-3-7 00:49 |  | 
|  | 
 
| plp626 银牌会员
 
      钻石会员
 
 
 积分 2278
 发帖 1020
 注册 2007-11-19
 状态 离线
 |  | 
|  2008-3-7 00:50 |  | 
|  | 
 
| plp626 银牌会员
 
      钻石会员
 
 
 积分 2278
 发帖 1020
 注册 2007-11-19
 状态 离线
 |  | 
|  2008-3-7 00:55 |  | 
|  | 
 
| abcd 银牌会员
 
      
 
 
 
 积分 1436
 发帖 739
 注册 2007-10-11
 状态 离线
 |  | 
|  2008-3-7 00:59 |  | 
|  | 
 
| plp626 银牌会员
 
      钻石会员
 
 
 积分 2278
 发帖 1020
 注册 2007-11-19
 状态 离线
 |  | 
|  2008-3-7 01:00 |  | 
|  | 
 
| chenall 银牌会员
 
      
 
 
 积分 1276
 发帖 469
 注册 2002-12-23
 来自 福建泉州
 状态 离线
 | 
| 『第 9 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
看了下,是按文件扩展名进行分类整理。只是代码看起来好像太乱了。有点晕晕的
 
 
 :path
 set t=%time::=%
 set r=%HOMEDRIVE%\tree
 md "%r%" 2>nul
 md "%r%\%t:~,-3%"||(pause&exit)
 dir /a/b/s>>"%r%\%t:~,-3%\%t%.path"
 不知这个HOMEDRIVE从哪来的?
 如果没有就相当于\TREE也就是在根目录下
 
 
 
 
 
 |  
                  |  QQ:366840202
 http://chenall.net
 |  | 
|  2008-3-7 01:13 |  | 
|  | 
 
| HAT 版主
 
         
 
 
 
 积分 9023
 发帖 5017
 注册 2007-5-31
 状态 离线
 | 
| 『第 10 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
Originally posted by chenall at 2008-3-7 01:13 AM:看了下,是按文件扩展名进行分类整理。
 只是代码看起来好像太乱了。有点晕晕的
 
 
 :path
 set t=%time::=%
 set r=%HOMEDRIVE%\tree
 md "%r%" 2>nul
 md & ...
 
Microsoft Windows XP  
(C) Copyright 1985-2001 Microsoft Corp.
 
C:\>echo %HOMEDRIVE% 
C: 
 
 
 
 |  | 
|  2008-3-7 10:41 |  | 
|  | 
 
| HAT 版主
 
         
 
 
 
 积分 9023
 发帖 5017
 注册 2007-5-31
 状态 离线
 | 
|     『第 11 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
Originally posted by plp626 at 2008-3-7 12:49 AM:谁测试然后发表评论我给谁加8分
 
我可以对这句话评论一下吗?(不知道能不能被加分,呵呵) 
大家来CNDOS是为了学习知识而不是增加积分^_^ 
 
 
 
 
 
 |  | 
|  2008-3-7 10:43 |  | 
|  | 
 
| plp626 银牌会员
 
      钻石会员
 
 
 积分 2278
 发帖 1020
 注册 2007-11-19
 状态 离线
 |  | 
|  2008-3-7 11:58 |  | 
|  | 
 
| lslcxlsl 初级用户
 
   
 
 
 
 积分 52
 发帖 24
 注册 2007-8-24
 状态 离线
 |  | 
|  2008-3-7 12:58 |  | 
|  | 
 
| plp626 银牌会员
 
      钻石会员
 
 
 积分 2278
 发帖 1020
 注册 2007-11-19
 状态 离线
 |  | 
|  2008-3-7 18:50 |  | 
|  | 
 
| plp626 银牌会员
 
      钻石会员
 
 
 积分 2278
 发帖 1020
 注册 2007-11-19
 状态 离线
 | 
| 『第 15 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
提议一个文件整理批处理:按文件属性整理比如:
 音频类的
 视频类的
 文本文件 ---记事本的, word , ppt, pdf,...
 编程类的 c,java,...,
 电子书类的
 图片类的
 绿色软件类的
 压缩包
 网页类的
 能具有文件分析能力,对安装软件所在目录不整理
 
 
 
 
 
 |  
                  |  山外有山,人外有人;低调做人,努力做事。
 
 进入网盘(各种工具)~~ 空间~~cmd学习
 |  | 
|  2008-3-10 11:51 |  |