无法删除目录

时间:2016-03-04 21:48:54

标签: vb.net

我正在使用以下代码来尝试清除Java缓存:

Dim TheFolderPath As String = "C:\Users\%username%\AppData\LocalLow\Sun\Java\Deployment\cache"
'check if the folder exists  
If IO.Directory.Exists(TheFolderPath) Then
    'delete the folder and all its contents  
    My.Computer.FileSystem.DeleteDirectory(TheFolderPath, FileIO.DeleteDirectoryOption.DeleteAllContents)
End If

但是,当我运行该工具来测试其功能时,该工具不会删除该文件夹。你能帮忙吗?

2 个答案:

答案 0 :(得分:1)

您的路径字符串包含一个环境变量(%username%),您必须首先expand

Dim TheFolderPath As String = "C:\Users\%username%\AppData\LocalLow\Sun\Java\Deployment\cache"
TheFolderPath = Environment.ExpandEnvironmentVariables(TheFolderPath)

%username%是当前登录用户名称的占位符(Windows会自动创建一个环境变量username,其用户名为login)。但是,在字符串中,占位符只是一个文字字符串%username%。要实际用环境变量的值替换它,您需要使用上面提到的函数。

答案 1 :(得分:1)

您还可以使用Environment.UserName属性获取登录用户的用户名,然后使用该IO.Path.Combine()构建路径。

Dim TheFolderPath As String = IO.Path.Combine("C:\Users", Environment.UserName, "AppData\LocalLow\Sun\Java\Deployment\cache")