Sorawithcat 发表于 2023-8-5 11:28:31

【vbs】删除文件

写一个vbs文件,放在一个文件夹中,运行它,删除除了自己的所有文件(或者删除所有txt文件)

学习编程中的Ben 发表于 2023-8-5 11:28:45

问题:编写一个 VBS 脚本,删除除了自己的所有文件(或者删除所有txt文件)。

你可以使用以下的 VBS 脚本来实现删除除了自己的所有文件:

Set fso = CreateObject("Scripting.FileSystemObject")
Set currentFile = fso.GetFile(WScript.ScriptFullName)
Set parentFolder = currentFile.ParentFolder

For Each file In parentFolder.Files
    If LCase(fso.GetExtensionName(file.Name)) <> "vbs" Then
      fso.DeleteFile(file.Path)
    End If
Next


这段脚本首先创建了一个 FileSystemObject 对象,用于操作文件系统。然后,它获取当前脚本文件的路径,并获取其所在的父文件夹对象。

接下来,通过循环遍历父文件夹中的每个文件。对于每个文件,它检查文件扩展名是否为 "vbs",如果不是则使用 FileSystemObject 的 DeleteFile 方法删除该文件。

请注意,上述代码只会删除与当前脚本文件位于同一文件夹内的文件,并且不会删除子文件夹中的文件。

如果你想删除所有的 txt 文件,只需将条件判断语句修改为 LCase(fso.GetExtensionName(file.Name)) = "txt" 即可。

希望这个 VBS 脚本能够满足你的需求。如果你有任何疑问或需要进一步帮助,请随时提问。

如果回答对你有帮助,请给我一个最佳答案!{:10_254:}{:10_254:}{:10_254:}

isdkz 发表于 2023-8-5 11:28:48

以下是一个可以删除除自己以外的所有文件的vbs脚本:

Set fso = CreateObject("Scripting.FileSystemObject")

' 获取当前脚本的路径
scriptPath = WScript.ScriptFullName

' 获取当前脚本所在的文件夹路径
folderPath = fso.GetParentFolderName(scriptPath)

' 获取文件夹中的所有文件
Set folder = fso.GetFolder(folderPath)
Set files = folder.Files

' 遍历所有文件并删除除自己以外的所有文件
For Each file In files
    ' 判断文件名是否与当前脚本的文件名相同
    If file.Name <> fso.GetFileName(scriptPath) Then
      ' 删除文件
      fso.DeleteFile file.Path
    End If
Next


请注意,此脚本将删除除自己以外的所有文件,包括文件夹中的所有文件。如果你只想删除特定类型的文件,比如txt文件,可以在遍历文件时添加一个判断条件,只删除符合条件的文件。以下是删除所有txt文件的示例:

Set fso = CreateObject("Scripting.FileSystemObject")

' 获取当前脚本的路径
scriptPath = WScript.ScriptFullName

' 获取当前脚本所在的文件夹路径
folderPath = fso.GetParentFolderName(scriptPath)

' 获取文件夹中的所有文件
Set folder = fso.GetFolder(folderPath)
Set files = folder.Files

' 遍历所有文件并删除所有txt文件
For Each file In files
    ' 判断文件扩展名是否为txt
    If LCase(fso.GetExtensionName(file.Name)) = "txt" Then
      ' 删除文件
      fso.DeleteFile file.Path
    End If
Next


希望这可以帮助到你!如果你有任何其他问题,请随时提问。
页: [1]
查看完整版本: 【vbs】删除文件