在Windows 7上,如何编写批处理文件以删除另一个文件夹中的文件夹。 这个'另一个文件夹'名称各不相同。
Eg: C:\Users\%USERNAME%\AppData\Local\Mozilla\Firefox\Profiles\xxxxxx\cache2
' xxxxxx'可能会改变。现在,我想删除' cache2'文件夹及其所有内容。
我试过这个:
:: Batch script to clear browsing history, download history, and empty the cache for Mozila Firefox.
:: Script can be run via GFI MAX RM
@echo off
TASKKILL /T /F /IM Firefox.exe
set DataDir=C:\Users\%USERNAME%\AppData\Local\Mozilla\Firefox\Profiles
del /q /s /f "%DataDir%"
rd /s /q "%DataDir%"
for /d %%x in (C:\Users\%USERNAME%\AppData\Roaming\Mozilla\Firefox\Profiles\*) do del /q /s /f %%x\*sqlite
start "" "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"
cls
IF %ERRORLEVEL%==0 (
@echo "Success Message"
timeout 10
) ELSE (
@echo "Error Message"
timeout 10
exit 1001
)
但这是删除整个个人资料文件夹。
任何人都可以帮我解决这个问题。
答案 0 :(得分:1)
for /d %%a in (
"C:\Users\%USERNAME%\AppData\Local\Mozilla\Firefox\Profiles\*"
) do if exist "%%~fa\cache2\" echo rmdir /s /q "%%~fa\cache2"
对于Profiles
文件夹下的每个文件夹,如果它包含cache2
子文件夹,请将其删除。
rmdir
命令仅回显给控制台。如果输出正确,请删除echo
命令
答案 1 :(得分:0)
简单:
rmdir /s C:\Users\%USERNAME%\AppData\Local\Mozilla\Firefox\Profiles\xxxxxx\cache2
答案 2 :(得分:0)
如果你知道你的cache2文件夹是xxxxxx的直接子文件,那么MC ND有一个很好的答案。但是如果cache2可以出现在任何级别,那么下面的工作方式,只要cache2不是" ... \ Profiles \"的直接后果。
@echo off
for /f "delims=" %%F in ('dir /b /ad /s "C:\Users\%USERNAME%\AppData\Local\Mozilla\Firefox\Profiles\cache2"') do echo rd /s /q "%%F"
如果cache2可以是" ... \ Profiles"的直接子代,那么只要没有名称为" cache2.x"的文件夹,就可以使用以下内容:
@echo off
for /f "delims=" %%F in ('dir /b /ad /s "C:\Users\%USERNAME%\AppData\Local\Mozilla\Firefox\Profiles\cache2.?"') do echo rd /s /q "%%F"
以上两个命令都只是ECHO RD语句。当所有看起来都正确时,只需删除ECHO。