我正在使用批处理脚本,该脚本首先在名为 admin 的目录中找到所有子文件夹。该脚本首先查看目录中的所有文件夹,如果找到名为admin的文件夹,它将删除该子文件夹中的所有文件,还删除子文件夹中的所有文件,但文件名为 fn.asp 。
到目前为止,脚本正在查找所有名为admin的子文件夹。我无法解决的问题是,当我们找到名为admin的子文件夹时,我们得到了它的路径,并且for循环遍历该路径中的所有子文件夹并删除除上述文件之外的所有文件。我唯一的问题是我无法通过以下代码传递路径。
FOR /R [path] %%variable IN ( set_of_file_filters ) DO (
command
)
这是我编写的代码。
@echo off
setlocal enabledelayedexpansion
set dirPath=D:\batchs
cd /d %dirPath%
:: Find all the sub-folders and further child folders that are named as admin.
for /d /r %%a in (*) do (
if %%~nxa == admin (
echo folder name admin was found...
echo "%%a"
for /R "%%a" %%f in (*) do (
set fileName=%%~nxf
echo %%f
if "!fileName!"=="fn.asp" (
echo FOUND: !fileName!
) else (
echo OTHER: !fileName!
::del "%%a"
echo File: !fileName! deleted
)
)
echo.
) else (
echo Folder named admin was not found
)
)
如果有人可以告诉我我做错了什么,因为我找不到问题,那将真的很有帮助。