您的位置:首页 > 其它

批处理中畸形文件夹和畸形文件的创建、访问、删除

2009-05-31 00:06 387 查看
 

【方案一】以点结尾的文件夹
复制内容到剪贴板
代码:
rem 创建以点结尾的文件夹
md "C:/test"
md "C:/test/batcher../"

复制内容到剪贴板
代码:
rem 把以点结尾的文件夹重命名为普通文件夹
rem 短文件名可以使用dir/x命令获得
ren "C:/test/BATCHE~1" "batcher"

复制内容到剪贴板
代码:
rem 把普通文件夹重命名为以点结尾的文件夹
ren "C:/test/batcher" "batcher../"

复制内容到剪贴板
代码:
rem 打开以点结尾的文件夹
start "" "C:/test/batcher../"


4000
复制内容到剪贴板
代码:
rem 进入以点结尾的文件夹
rem 短文件名可以使用dir/x命令获得
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../"

【方案二】以空格结尾的文件夹
复制内容到剪贴板
代码:
基本操作与方案一大致相同,此处不再赘述。

【方案三】系统保留字文件夹(Con, Prn, Aux, Nul, Lpt1, Com1, Com2)
复制内容到剪贴板
代码:
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/"

【方案四】特殊字符文件夹(/, /, :, *, ?, ", <, >, |)
复制内容到剪贴板
代码:
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%"

【方案五】以点结尾的文件
复制内容到剪贴板
代码:
rem 创建以点结尾的文件
md "C:/test"
echo bbs.bathome.cn>"//?/C:/test/batcher."

复制内容到剪贴板
代码:
rem 打开以点结尾的文件
notepad "//?/C:/test/batcher."

复制内容到剪贴板
代码:
rem 复制以点结尾的文件
copy "//?/C:/test/batcher." "//?/C:/"

复制内容到剪贴板
代码:
rem 修改以点结尾的文件的属性为“隐藏”
@echo off
set DstFile=C:/test/batcher.
>"%temp%/FileProperty.vbs" echo Set objFSO = CreateObject("Scripting.FileSystemObject").GetFile("//?/%DstFile%./")
>>"%temp%/FileProperty.vbs" echo objFSO.Attributes=objFSO.Attributes+2
cscript /nologo "%temp%/FileProperty.vbs"

复制内容到剪贴板
代码:
rem 删除以点结尾的文件
del /a /f /q "//?/C:/test/batcher."

【方案六】系统保留字文件(Con, Prn, Aux, Nul, Lpt1, Com1, Com2)
复制内容到剪贴板
代码:
rem 创建系统保留字文件
md "C:/test/batcher"
echo bbs.bathome.cn>"//?/C:/test/batcher/con"

复制内容到剪贴板
代码:
rem 打开系统保留字文件
notepad "//?/C:/test/batcher/con"

复制内容到剪贴板
代码:
rem 复制系统保留字文件
copy "//?/C:/test/batcher/con" "//?/C:/test"

复制内容到剪贴板
代码:
rem 修改系统保留字文件的属性为“隐藏”
@echo off
set DstFile=C:/test/batcher/con
>"%temp%/FileProperty.vbs" echo Set objFSO = CreateObject("Scripting.FileSystemObject").GetFile("//?/%DstFile%./")
>>"%temp%/FileProperty.vbs" echo objFSO.Attributes=objFSO.Attributes+2
cscript /nologo "%temp%/FileProperty.vbs"

复制内容到剪贴板
代码:
rem 删除系统保留字文件
del /a /f /q "//?/C:/test/batcher/con"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c