补充,用rd命令结合||可以判断,但这会删除带点空目录,
有没其他方法,dir 什么的?
声明类似下面的代码思想的不算,这个改变了文件的创建日期.
-------------------------------------------------------------------------------------------------------------
17:30补充
还是得靠自己,现在我把代码贴出来供大家分享,不错话收藏.
(对其他畸形目录可能失效,后续完善,)
另附代码:
访问
删除(直接粘贴代码到命令行下.切勿在ghost备分文件所在路径下运行!)
即使目录内存放Con, Prn, Aux, Nul, Lpt?, Com?等(?表示数字1-9)非带点畸形目录也照删。
[ Last edited by plp626 on 2008-4-27 at 12:11 AM ]
有没其他方法,dir 什么的?
声明类似下面的代码思想的不算,这个改变了文件的创建日期.
rd 123..\ 2>nul||echo 非空
md 123..\ 2>nul
-------------------------------------------------------------------------------------------------------------
17:30补充
还是得靠自己,现在我把代码贴出来供大家分享,不错话收藏.
(对其他畸形目录可能失效,后续完善,)
@echo off&setlocal enabledelayedexpansion
:by plp626@cn-dos.net on 2008-3-1
echo 当前目录内所有非空带点畸形目录及其包含文件如下:
set ln=----------------------------------------------
set m=0
for /f "tokens=4-5" %%a in ('dir/ad/x^|findstr /e \.') do (
echo %%b|findstr E>nul||dir/b %%a|find/v ":">nul&&(set/a m+=1
echo !m!!ln!&echo %%~dpb%%b 的目录:&echo.
dir/a/b %%a
) )
pause另附代码:
访问
@echo off
:by plp626@cn-dos.net on 2008-3-3
if "%1"=="" dir/a&goto :eof
if "%1"=="/f" goto f
if "%1"=="/c" more "%~dpnx0"&goto :eof
if "%1"=="/?" goto syntax
set folder=%1
echo %folder%|findstr /e \.>nul&&set folder=%folder:.=\.%||(dir/a %1)
for /f "tokens=4-5" %%a in ('dir/ad/x^|findstr /e \.') do (
for /f "tokens=1-2" %%i in ('echo %%a %%b^|findstr /ec:" %folder%"') do (
dir/a/s/x %%i
) )
goto :eof
:f
dir /a/b|findstr /e \.||echo 当前路径下没有发现后缀带点目录
goto :eof
:syntax
echo dir命令的增强,可访问带点畸形目录.&echo.
echo /f 查看当前路径下的畸形目录
echo /c 查看%~nx0的源代码. &echo.
echo usage1:
echo 访问畸形目录时直接输入你所看到的畸形目录名.
echo 访问畸形目录内的目录用短名.(后续将改进)
echo 访问常规目录与dir命令同,有空个时加上双引号.
echo.&echo example:
echo 访问123.目录: %~n0 123.
goto :eof删除(直接粘贴代码到命令行下.切勿在ghost备分文件所在路径下运行!)
即使目录内存放Con, Prn, Aux, Nul, Lpt?, Com?等(?表示数字1-9)非带点畸形目录也照删。
::删当前目录内任意带点畸形目录
for /f "delims=" %a in ('dir/ad/b^|findstr /e "\."') do rd /q/s "\\?\%a" 2>nul
::删当前目录,包括子目录内的任意带点畸形目录
for /f "delims=" %a in ('dir/ad/s/b^|findstr /e "\."') do rd /q/s "\\?\%a" 2>nul
::在当前路径目录树下 删任意带点空畸形目录 显示 非空畸形目录
for /f "delims=" %a in ('dir/ad/s/b^|findstr /e "\."') do rd "%a.\" 2>nul||echo %a
[ Last edited by plp626 on 2008-4-27 at 12:11 AM ]
本帖最近评分记录
(共 3 条)
点击查看详情
| 评分人 | 分数 | 时间 |
|---|---|---|
| 523066680 | +2 | 2008-03-15 18:16 |
| regvip2008 | +2 | 2008-04-17 14:29 |
| qinbuer | +4 | 2008-06-29 21:27 |

