1

ファイルを削除するために、vb.net に次のコードを記述しました。

If File.Exists(strPath & "\ReportEng.ini") = True Then
File.SetAttributes(strPath & "\ReportEng.ini", FileAttributes.Normal)
File.Delete(strPath & "\ReportEng.ini")
End If
File.Copy("\\192.168.0.1\SAP_Shared\AddonExtra\ReportEng.ini", strPath & "\ReportEng.ini")

このコードは、Windows XP で完全に機能します。しかし、Windows 7 では削除できません。このOSは、開発者の視点から見ると多忙なOSです。なんらかの問題が発生し、Microsoft はこの OS を構築する際に開発者を考慮していません。

Windows 7 でファイルを削除するにはどうすればよいですか?

4

3 に答える 3

1

そうするのはとても簡単です。

If My.Computer.FileSystem.FileExists("C:\somefile.ext") Then 'Check whether file exists
        My.Computer.FileSystem.DeleteFile("C:\somefile.ext") 'Delete the file!
End If

良い1日を!

于 2012-05-16T17:39:04.830 に答える
0

ファイルを削除する必要はありません。上書きを許可するオーバーロードFile.Copy メソッド (文字列、文字列、ブール値)があります。

どのエラーが発生するかは言いませんでした。ユーザーがディレクトリへの書き込みアクセス権を持っていないためだと思われます。Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)おそらく、または多分によって返されるディレクトリのサブディレクトリを使用する必要があり .LocalApplicationData、プログラムを含むディレクトリではないことは間違いありません。

また、使用Path.Combine(strPath, "ReportEng.ini")は、パスを結合するための方法です。たとえば、末尾のパスセパレーターを処理します。

于 2012-05-16T18:21:08.957 に答える
-1

Windowsファイルシステムとのインターフェースに推奨される方法は、次の名前空間を使用します。

Imports Microsoft.VisualBasic.FileIO.FileSystem

ファイルを削除するには:

Dim FileLocation As String = strPath & "\ReportEng.ini"
If Not GetDirectoryInfo(FileLocation).Exists Then
  GetFileInfo(FileLocation).Delete()
End If
于 2012-05-16T05:56:46.053 に答える