PHL*_*GHT 7 windows script batch command-line
我希望自动删除超过 7 天的文件forfiles
。
下面的代码在我手动执行并响应是删除文件时有效。我怎样才能将是的融入其中?
这是输出:
E:\>forfiles -p "H:\SHARED\Scans" -s -m *.* -d -7 -c "cmd /c del @path"
Could Not Find H:\SHARED\Scans\.DS_Store
H:\SHARED\Scans\XXX\DOC006.XSM\*, Are you sure (Y/N)?
Run Code Online (Sandbox Code Playgroud)
您可以尝试添加 /Q /S,但请注意,这实际上可能无法实现您真正想要的功能:
/Q Quiet mode, do not ask if ok to delete on global wildcard
/S Delete specified files from all subdirectories
E:\forfiles -p "H:\SHARED\Scans" -s -m . -d -7 -c "cmd /c del /Q /S @path"
Run Code Online (Sandbox Code Playgroud)
最好使用 CSCRIPT(选择 VBScript 或 JScript)或 PowerShell。从 StackOverflow 查看这个答案:https ://stackoverflow.com/questions/1575493/how-to-delete-empty-subfolders-with-powershell
这是一些完成类似任务的 vbscript:
Dim fso, folder, folders
Set fso = CreateObject("Scripting.FileSystemObject")
Set parent = fso.GetFolder("H:\SHARED\Scans")
Set folders = parent.SubFolders
' delete any folder older than 7 days
For Each folder in folders
If Abs(DateDiff("d",Date, folder.DateCreated)) > 7 Then
folder.Delete(True) 'force delete
End If
Next
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20786 次 |
最近记录: |