删除包含应用程序名称的文件 (VB.NET)
Delete A File That Contains The App Name (VB.NET)
这是我正在使用的代码:
Dim file As String
Dim prefetchPath As String
Dim FileName As String = My.Application.Info.AssemblyName
prefetchPath = Environment.GetEnvironmentVariable("windir", EnvironmentVariableTarget.Machine) & "\Prefetch"
For Each file In IO.Directory.GetFiles(prefetchPath)
If file.Contains(FileName) Then
IO.File.Delete(file)
End If
Next
我不知道为什么如果我使用 FileName
它不起作用。但是如果我使用这个代码就可以了
If file.Contains("Example.exe") Then
IO.File.Delete(file)
End If
我想确保如果有人更改了应用程序的名称,代码将以相同的方式工作(我已经 运行 文件作为管理员)
帮帮我谢谢。
我的猜测是 AssemblyName 只是 returns 没有扩展名的名称,请尝试包含 .exe。此外,值得注意的是,您可以使用 IO.DirectoryInfo class 并在 GetFiles 方法中传递文件名来切断 For/Each 循环。
这是一个简单的例子:
Dim prefetchPath As String = IO.Path.Combine(Environment.GetEnvironmentVariable("windir", EnvironmentVariableTarget.Machine), "Prefetch")
Dim FileName As String = My.Application.Info.AssemblyName & ".exe"
If New IO.DirectoryInfo(prefetchPath).GetFiles(FileName).Count > 0 Then
IO.File.Delete(IO.Path.Combine(prefetchPath, FileName))
End If
这是我正在使用的代码:
Dim file As String
Dim prefetchPath As String
Dim FileName As String = My.Application.Info.AssemblyName
prefetchPath = Environment.GetEnvironmentVariable("windir", EnvironmentVariableTarget.Machine) & "\Prefetch"
For Each file In IO.Directory.GetFiles(prefetchPath)
If file.Contains(FileName) Then
IO.File.Delete(file)
End If
Next
我不知道为什么如果我使用 FileName
它不起作用。但是如果我使用这个代码就可以了
If file.Contains("Example.exe") Then
IO.File.Delete(file)
End If
我想确保如果有人更改了应用程序的名称,代码将以相同的方式工作(我已经 运行 文件作为管理员) 帮帮我谢谢。
我的猜测是 AssemblyName 只是 returns 没有扩展名的名称,请尝试包含 .exe。此外,值得注意的是,您可以使用 IO.DirectoryInfo class 并在 GetFiles 方法中传递文件名来切断 For/Each 循环。
这是一个简单的例子:
Dim prefetchPath As String = IO.Path.Combine(Environment.GetEnvironmentVariable("windir", EnvironmentVariableTarget.Machine), "Prefetch")
Dim FileName As String = My.Application.Info.AssemblyName & ".exe"
If New IO.DirectoryInfo(prefetchPath).GetFiles(FileName).Count > 0 Then
IO.File.Delete(IO.Path.Combine(prefetchPath, FileName))
End If