我是长期观众,但这是我的第一个问题,所以如果我做错了,我深表歉意。
我需要递归删除远程计算机上的所有文件夹和文件,并且我想防止特定文件夹被删除。
这些排除的文件夹列在一个名为 的文本文件中excludeDirectories.txt
,每一行都有一个文件夹名称。
我的第一次尝试是结合使用命令提示命令和psexec
. 下面列出了该脚本。注意我是从批处理命令运行这些的,因此是 double %%
:
net use r: \\machine\sharedFolderName
FOR /D %%a IN (R:\*.*) DO (
c:\pstools\psexec cmd /c rmdir /s /q R:\
)
该脚本会删除所有内容,但我不知道如何检查循环中当前文件夹的文本文件FOR
,如果在文本文件中找到该文件,则跳到循环中的下一个文件夹。
我在这方面花了几天时间,并且无法让代码工作,将文件夹读入我可以在IF
语句中使用的东西,并psexec
在找到匹配项时分支出行。
同样,为了打败一匹死马,我想要完成的是:
- 递归循环浏览
R:
驱动器上的文件夹 - 检查
FOR
循环中的每个文件夹,看看它是否在文本文件中 - 如果在文本文件中找到循环中的当前文件夹,则
FOR
跳过删除文件夹的行并前进到FOR
循环中的下一个文件夹 - 我无法使用 powershell
- 我必须将排除的文件夹存储在文本文件中