zoukankan      html  css  js  c++  java
  • (方案汇总)批处理中畸形文件夹和畸形文件的创建、访问、删除

    【方案一】以点结尾的文件夹
    复制内容到剪贴板
    代码:
    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..\"
    复制内容到剪贴板
    代码:
    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"
     
  • 相关阅读:
    Spring 事务回滚机制详解
    【Azure 媒体服务】在Azure Media Service门户中使用HLS模式传输视频流,播放视频步骤
    【Azure 媒体服务】记录一个简单的媒体视频上传到Media Service无法播放问题
    【Azure 媒体服务】Azure Media Service Explorer 5.4.3.0 不能连接Media Service, 错误消息提示 BadRequest 和 Forbidden
    【Azure 应用服务】VS2019发布应用到正在运行的App Service时失败问题的解决
    【Azure 应用服务】[App Service For Linux(Function) ] Python ModuleNotFoundError: No module named 'MySQLdb'
    【Azure 应用服务】App Service For Container 配置Nginx,设置/home/site/wwwroot/目录为启动目录,并配置反向代理
    【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题
    【Azure 应用服务】如何定期自动重启 Azure App Service Plan(应用服务计划)
    【Azure 应用服务】App Service .NET Core项目在Program.cs中自定义添加的logger.LogInformation,部署到App Service上后日志不显示Log Stream中的问题
  • 原文地址:https://www.cnblogs.com/dongzhiquan/p/1994889.html
Copyright © 2011-2022 走看看