如何从bat脚本的变量中找到的父文件夹中删除子文件夹和文件?

凯尔·席尔瓦(Cao Silva)

我想做的是找到本地磁盘C上所有名为“ temp”的文件夹,然后删除其中的所有文件和子文件夹,但是我不知道如何删除它,我只能设法进入查找所有文件夹并将其放入变量的一部分,但我不知道要删除的正确代码。救命。

@echo off
setlocal
setlocal enabledelayedexpansion
@echo off
for /d /r "c:\" %%i in (temp) do (
@if exist "%%i" (
@set _variable=%%i
@echo !_variable!
)
)
endlocal
不是我
@echo off && setlocal enabledelayedexpansion

cd /d "C:\" && for /f tokens^=* %%i in ('dir /s /b /a:d "temp"')do (
   echo\ Current Folder: "%%~i"
   echo\ RmDir /q /s "%%~i"
   echo\ MkDir "%%~i"
  )

%__APPDIR__%\Timeout.exe /t -1 & endlocal & goto :EOF

1)转到驱动器:

cd /d "C:\"

2)使用For /fdir /s /b /a:d替代For /D /R

 for /f tokens^=* %%i in ('dir /s /b /a:d "temp"')do... 

3)不需要删除目标文件夹中的文件,只需删除该文件夹并重新创建即可...

RmDir /q /s "%%~i" && MkDir "%%~i\*"

  • 输出看起来像这样:
Current Folder: "C:\Program Files (x86)\Google\Temp"
rmdir /q /s "C:\Program Files (x86)\Google\Temp"
mkdir "C:\Program Files (x86)\Google\Temp\"
Current Folder: "C:\Program Files (x86)\Steam\steamapps\temp"
rmdir /q /s "C:\Program Files (x86)\Steam\steamapps\temp"
mkdir "C:\Program Files (x86)\Steam\steamapps\temp\"
Current Folder: "C:\ProgramData\Microsoft\Windows\WER\Temp"
rmdir /q /s "C:\ProgramData\Microsoft\Windows\WER\Temp"
mkdir "C:\ProgramData\Microsoft\Windows\WER\Temp\"
Current Folder: "C:\Users\All Users\Microsoft\Windows\WER\Temp"
rmdir /q /s "C:\Users\All Users\Microsoft\Windows\WER\Temp"
mkdir "C:\Users\All Users\Microsoft\Windows\WER\Temp\"
Current Folder: "C:\Users\Default\AppData\Local\Temp"
rmdir /q /s "C:\Users\Default\AppData\Local\Temp"
mkdir "C:\Users\Default\AppData\Local\Temp\"
Current Folder: "C:\Users\ecker\AppData\Local\Temp"
rmdir /q /s "C:\Users\ecker\AppData\Local\Temp"
mkdir "C:\Users\ecker\AppData\Local\Temp\"
Current Folder: "C:\Users\ecker\AppData\Local\Intel\CUIPromotions\Temp"
rmdir /q /s "C:\Users\ecker\AppData\Local\Intel\CUIPromotions\Temp"
mkdir "C:\Users\ecker\AppData\Local\Intel\CUIPromotions\Temp\"
Current Folder: "C:\Users\ecker\AppData\Local\Packages\windows_ie_ac_001\AC\Temp"
rmdir /q /s "C:\Users\ecker\AppData\Local\Packages\windows_ie_ac_001\AC\Temp"
mkdir "C:\Users\ecker\AppData\Local\Packages\windows_ie_ac_001\AC\Temp\"
Current Folder: "C:\Windows\Temp"
rmdir /q /s "C:\Windows\Temp"
mkdir "C:\Windows\Temp\"
Current Folder: "C:\Windows\assembly\temp"
rmdir /q /s "C:\Windows\assembly\temp"
mkdir "C:\Windows\assembly\temp\"
mkdir "C:\Windows\assembly\NativeImages_v4.0.30319_64\Temp\"
Current Folder: "C:\Windows\System32\DriverStore\Temp"
rmdir /q /s "C:\Windows\System32\DriverStore\Temp"
mkdir "C:\Windows\System32\DriverStore\Temp\"
Current Folder: "C:\Windows\WinSxS\Temp"
rmdir /q /s "C:\Windows\WinSxS\Temp"
mkdir "C:\Windows\WinSxS\Temp\"

  • 在测试中验证输出并为有效执行而删除以下内容echo
@echo off && setlocal enabledelayedexpansion

cd /d "C:\" && for /f tokens^=* %%i in ('dir /s /b /a:d "temp"')do (
   echo\ Current Folder: "%%~i"
   
    
    
     
     echo\
    
     RmDir /q /s "%%~i"
   
    
    
     
     echo\
    
     MkDir "%%~i"
  )

%__APPDIR__%\Timeout.exe /t -1 & endlocal & goto :EOF

  • 或使用此简短选项来抑制正在使用的任何文件夹或某些其他类型的错误的可能的错误消息
@echo off 

setlocal enabledelayedexpansion && cd /d "C:\"
for /f "tokens=*" %%i in ('dir /s /b /a:d "temp"
')do 2>nul >nul (RmDir /q /s "%%~i" && MkDir "%%~i")
"%__APPDIR__%\Timout.exe" -1 & endlocal & goto :EOF
  • 当然,还有一个稍微小的选择...
@echo off 

cd/d "C:\" & setlocal enabledelayedexpansion
for /f tokens^=* %%i in ('dir/s/b/a:d "temp"
')do 2>nul (RmDir /q /s "%%~i" && MD "%%~i")
"%__APPDIR__%\Timeout.exe" /t -1 && endlocal

对于命令行帮助,可以使用/?

RmDir /?, For /?, MkDir /?, Endlocal /?, SetLocal /?

在互联网上,您可以在以下方面获得更多帮助:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除子文件夹和文件而不删除父文件夹和子文件夹?

来自分类Dev

使用bat删除子文件夹中的文件

来自分类Dev

如何在ckfinder中显示所有文件夹,子文件夹和文件

来自分类Dev

如何使cmake在子文件夹中找到共享库

来自分类Dev

如何删除在/ opt /中找到的文件夹?

来自分类Dev

如何运行子文件夹中的多个.bat文件

来自分类Dev

使用bat脚本仅删除子文件夹中的文件

来自分类Dev

Perl:如何找到已知子文件夹的父文件夹?

来自分类Dev

批处理脚本-如何删除多个目录下的子文件夹(文件/文件夹)

来自分类Dev

如何删除文件夹中的所有文件(包括子文件夹中的文件)而不删除文件夹本身或其任何子文件夹

来自分类Dev

删除文件夹中的所有文件和文件夹,以结尾的文件和文件夹为准

来自分类Dev

批量删除多个父文件夹中的子文件夹

来自分类Dev

Windows bat文件删除所有文件和文件夹,但不包括某些文件和文件夹

来自分类Dev

Shell脚本删除最旧的文件和文件夹

来自分类Dev

Gnome Shell“文件和文件夹”镜头仅在我的主目录中找到文件和文件夹

来自分类Dev

删除子文件夹和文件的属性

来自分类Dev

如何删除文件夹中除最新X子文件夹以外的所有子文件夹?

来自分类Dev

如何从Google App脚本中的文件或文件夹中删除父对象

来自分类Dev

排除子文件夹和文件

来自分类Dev

如何让脚本停止从源文件夹中删除文件

来自分类Dev

删除文件和文件夹(例外)

来自分类Dev

帮助删除文件和文件夹

来自分类Dev

如何删除文件夹及其子文件夹中的所有空文件?

来自分类Dev

如何最好地删除文件夹及其子文件夹中的所有文件

来自分类Dev

如何删除无法删除的文件和文件夹?

来自分类Dev

删除程序文件文件夹中的文件和文件夹

来自分类Dev

如何从文件夹中删除文件

来自分类Dev

如何删除文件夹中的文件

来自分类Dev

.htaccess:如何在URL中删除子文件夹的子文件夹?

Related 相关文章

  1. 1

    删除子文件夹和文件而不删除父文件夹和子文件夹?

  2. 2

    使用bat删除子文件夹中的文件

  3. 3

    如何在ckfinder中显示所有文件夹,子文件夹和文件

  4. 4

    如何使cmake在子文件夹中找到共享库

  5. 5

    如何删除在/ opt /中找到的文件夹?

  6. 6

    如何运行子文件夹中的多个.bat文件

  7. 7

    使用bat脚本仅删除子文件夹中的文件

  8. 8

    Perl:如何找到已知子文件夹的父文件夹?

  9. 9

    批处理脚本-如何删除多个目录下的子文件夹(文件/文件夹)

  10. 10

    如何删除文件夹中的所有文件(包括子文件夹中的文件)而不删除文件夹本身或其任何子文件夹

  11. 11

    删除文件夹中的所有文件和文件夹,以结尾的文件和文件夹为准

  12. 12

    批量删除多个父文件夹中的子文件夹

  13. 13

    Windows bat文件删除所有文件和文件夹,但不包括某些文件和文件夹

  14. 14

    Shell脚本删除最旧的文件和文件夹

  15. 15

    Gnome Shell“文件和文件夹”镜头仅在我的主目录中找到文件和文件夹

  16. 16

    删除子文件夹和文件的属性

  17. 17

    如何删除文件夹中除最新X子文件夹以外的所有子文件夹?

  18. 18

    如何从Google App脚本中的文件或文件夹中删除父对象

  19. 19

    排除子文件夹和文件

  20. 20

    如何让脚本停止从源文件夹中删除文件

  21. 21

    删除文件和文件夹(例外)

  22. 22

    帮助删除文件和文件夹

  23. 23

    如何删除文件夹及其子文件夹中的所有空文件?

  24. 24

    如何最好地删除文件夹及其子文件夹中的所有文件

  25. 25

    如何删除无法删除的文件和文件夹?

  26. 26

    删除程序文件文件夹中的文件和文件夹

  27. 27

    如何从文件夹中删除文件

  28. 28

    如何删除文件夹中的文件

  29. 29

    .htaccess:如何在URL中删除子文件夹的子文件夹?

热门标签

归档