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"

  • 相关阅读:
    从零开始入门 K8s | 应用编排与管理
    209. Minimum Size Subarray Sum
    208. Implement Trie (Prefix Tree)
    207. Course Schedule
    203. Remove Linked List Elements
    183. Customers Who Never Order
    182. Duplicate Emails
    181. Employees Earning More Than Their Managers
    1261. Find Elements in a Contaminated Binary Tree
    1260. Shift 2D Grid
  • 原文地址:https://www.cnblogs.com/94YY/p/2072946.html
Copyright © 2011-2022 走看看