我们有一个50个用户的FTP服务器,他们有一个主文件夹(如下)和5个子文件夹。 我正在寻找一个脚本,将每周清理子文件夹的内容。 但是不要触摸子文件夹中的存档文件夹,并为所有50个用户执行此操作。
C:\ ftp \ ftp-users jmartin – jmartin-a1 jmartin-a2 jmartin-a3 jmartin-a4 jmartin-a5存档
您请求PowerShell,所以在这里你去。 只需将C:\ Folder更改为所需的任何位置即可。 这个脚本将获得根目录中的文件夹列表,然后列出这些文件夹中的文件/文件夹列表并删除它们。
Get-ChildItem -path C:\Folder\ | ?{ $_.PSIsContainer } | Foreach-Object{ $_ | Get-ChildItem -Recurse | Remove-Item }
这可以扩大。 说我有结构
ROOT -Nick --Nick1 ---myfile.txt --Nick2 ---myfile.txt -Bob --Bob1 ---hisfile.txt --Bob2 ---hisfile.txt
我可以使用以下方法删除Nick1,Nick2,Bob1,Bob2文件夹(包括文件夹)中的任何内容,但保留上述结构。 如果我想删除Bob1,Bob2,Nick1和Nick2文件夹,我将使用第一个命令(上图),只留下Nick和Bob文件夹。
Get-ChildItem -path C:\Folder\ | ?{ $_.PSIsContainer } | Foreach-Object{ $_Get-ChildItem | ?{ $_.PSIsContainer } | Foreach-Object{ $_ | Get-ChildItem -Recurse | Remove-Item } }
你可以把它压缩到一个class轮
Get-ChildItem -path C:\Folder\ | ? { $_.PSIsContainer } | Get-ChildItem | ? { $_.PSIsContainer } | Get-ChildItem -Recurse | Remove-Item
试试这个:
For /RC:\ftp\ftp-users %G IN (.) do del "%G" /q
记住:当你想在批处理中使用它,而不是其中的一个%。
For /RC:\ftp\ftp-users %%G IN (.) do del "%%G" /q
亲切的问候,
maesi
你可以随时尝试:
del /s /q C:\FTP\*.*
或删除没有存档属性的子目录中的所有文件:
del /s /q /a:-a C:\FTP\*.*
这里有一些信息:
/A Selects files to delete based on attributes attributes R Read-only files S System files H Hidden files A Files ready for archiving I Not content indexed Files L Reparse Points - Prefix meaning not
它将查找并删除C:\ FTP \
添加到Windows调度程序为:
%windir%\cmd.exe
与参数:
/c del /s /q C:\FTP\*.*