中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-13 06:14
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [分享]畸形文件夹介绍建立删除进入 查看 935 回复 2
楼 主 [分享]畸形文件夹介绍建立删除进入 发表于 2010-01-22 15:22 ·  中国 上海 中移铁通
新手上路
积分 12
发帖 9
注册 2009-11-13 23:35
16年会员
UID 154711
性别 男
状态 离线
[color=Red][size=6][size=5]以点结尾的文件夹 代码:[/size][/size]rem 创建以点结尾的文件夹[/color]md "C:\test"
md "C:\test\batcher..\"代码:
rem 把以点结尾的文件夹重命名为普通文件夹
rem 短文件名可以使用dir/x命令获得
ren "C:\test\BATCHE~1" "batcher"代码:
rem 把普通文件夹重命名为以点结尾的文件夹
cd "C:\test\NEW~1"代码:
rem 向以点结尾的文件夹中复制文件
copy "C:\test\a.txt" "C:\test\batcher..\"代码:
rem 删除以点结尾的文件夹中的文件
rem 短文件名可以使用dir/x命令获得
del /a /f /q "C:\test\NEW~1\a.txt"代码:
rem 修改以点结尾的文件夹的属性为“隐藏”
@echo off
set DstFolder=C:\test\batcher.
>"%temp%\FolderProperty.vbs" echo Set objFSO = CreateObject("Scripting.FileSystemObject").GetFolder("\\?\%DstFolder%.\")
>>"%temp%\FolderProperty.vbs" echo objFSO.Attributes=objFSO.Attributes+2
cscript /nologo "%temp%\FolderProperty.vbs"代码:
rem 删除以点结尾的文件夹
rd /s /q "C:\test\batcher..\"
[color=Red][size=6]以空格结尾的文件夹[/size][/color]
代码:
基本操作与方案一大致相同,此处不再赘述。
[color=Red][size=6]系统保留字文件夹(Con, Prn, Aux, Nul, Lpt1, Com1, Com2)
代码:[/size][/color]
rem 创建系统保留字文件夹
md "C:\test\batcher"
md "C:\test\batcher\con\"代码:
rem 打开系统保留字文件夹
start "" "C:\test\batcher\con\"代码:
rem 向系统保留字文件夹中复制文件
copy "C:\test\batcher\a.txt" "C:\test\batcher\con\"代码:
rem 删除系统保留字文件夹中的文件
del /a /f /q "C:\test\batcher\con\a.txt"代码:
rem 修改系统保留字文件夹的属性为“隐藏”
@echo off
set DstFolder=C:\test\batcher\con
>"%temp%\FolderProperty.vbs" echo Set objFSO = CreateObject("Scripting.FileSystemObject").GetFolder("\\?\%DstFolder%.\")
>>"%temp%\FolderProperty.vbs" echo objFSO.Attributes=objFSO.Attributes+2
cscript /nologo "%temp%\FolderProperty.vbs"代码:
rem 删除系统保留字文件夹
rd /s /q "C:\test\batcher\con\"
[color=Red][size=6]特殊字符文件夹(\, /, :, *, ?, ", <, >, |)[/size][/color]
代码:
rem 创建特殊字符文件夹
@echo off
set "DstFolder=C:\test\batcherA\"
if exist "%DstFolder%\" (
echo 文件夹%DstFolder%已存在
goto :eof
)
md "%DstFolder%"
>"%DstFolder%\desktop.ini" echo [.ShellClassInfo]
>>"%DstFolder%\desktop.ini" echo LocalizedResourceName=BatHome,-1
attrib +s +h "%DstFolder%\desktop.ini"
>%temp%\UnlockReg.txt echo HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\LocalizedResourceName [9]
regini %temp%\UnlockReg.txt
>%temp%\LockReg.txt echo HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\LocalizedResourceName [8]
>>%temp%\LockReg.txt echo "BatHome,-1" = REG_SZ "|"
regini %temp%\LockReg.txt
attrib +s "%DstFolder%"代码:
rem 创建无法直接删除的特殊字符文件夹
@echo off
set "DstFolder=C:\test\batcherB\"
if exist "%DstFolder%\" (
rem echo y|cacls "\\?\%DstFolder%\nul" /g everyone:f
rem attrib -r -a -s -h "\\?\%DstFolder%\nul"
rem del /a /f /q "\\?\%DstFolder%\nul"
echo 文件夹%DstFolder%已存在
goto :eof
)
md "%DstFolder%"
>"%DstFolder%\desktop.ini" echo [.ShellClassInfo]
>>"%DstFolder%\desktop.ini" echo LocalizedResourceName=BatHome,-1
attrib +s +h "%DstFolder%\desktop.ini"
>"\\?\%DstFolder%\nul" echo.
attrib +s +h "%DstFolder%\desktop.ini"
>%temp%\UnlockReg.txt echo HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\LocalizedResourceName [9]
regini %temp%\UnlockReg.txt
>%temp%\LockReg.txt echo HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\LocalizedResourceName [8]
>>%temp%\LockReg.txt echo "BatHome,-1" = REG_SZ "|"
regini %temp%\LockReg.txt
attrib +r +a +s +h "\\?\%DstFolder%\nul"
echo y|cacls "\\?\%DstFolder%\nul" /d everyone>nul
attrib +s +r "%DstFolder%"
2 发表于 2010-01-22 16:34 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
从哪里复制来的?
3 发表于 2010-01-22 16:43 ·  中国 北京 中电华通通信有限公司
高级用户
★★★
据说是李先生
积分 609
发帖 400
注册 2008-04-23 15:55
18年会员
UID 116706
性别 男
状态 离线
呵呵,估计是 BATHOME,其实这些东西已经有很多讨论啦,比如

文件夹的:
http://cn-dos.net/forum/viewthread.php?tid=20654

文件的:
http://cn-dos.net/forum/viewthread.php?tid=44463
┏━━━━━━┓
┃据说是李先生┃
┠──────┨
┃*ntRSS┃
┗━━━━━━┛
论坛跳转: