.Net에서 파일을 저장할 용량을 경로로 확인하는 가장 좋은 방법은 무엇입니까? 내가 다운로드하기 전에 내가 소스 파일을 두 번째로 다운로드 할 수 없게됩니다 파일을위한 공간이 있는지 확인해야합니다. System.IO.DriveInfo에서 보았지만 UNC 경로에서는 작동하지 않습니다..Net을 사용하여 파일 시스템 용량을 확인하는 가장 좋은 방법은 무엇입니까?
4
A
답변
5
여기에 W3C를 사용하여 드라이브 (로컬 또는 네트워크/UNC)의 여유 공간을 확보하는 방법을 보여주는 this page의 간단한 기능이 있습니다. 당신이는 Win32 API 솔루션을 wnat 경우 this MSDN help page에 의해 제안
private static ulong GetFreeDiskSpaceInBytes(string drive)
{
ManagementObject disk =
new ManagementObject("win32_logicaldisk.deviceid=\"" + drive + ":\"");
disk.Get();
return (ulong)disk["FreeSpace"];
}
, 당신은 GetDiskFreeSpaceEx
기능을 사용할 수 있습니다. 또한 로컬 및 네트워크 드라이브 이름을 모두 지원하는 것으로 보입니다.
Private Declare Function GetDiskFreeSpaceEx Lib "kernel32" _
Alias "GetDiskFreeSpaceExA" (ByVal lpDirectoryName As String, _
lpFreeBytesAvailableToCaller As Currency, _
lpTotalNumberOfBytes As Currency, _
lpTotalNumberOfFreeBytes As Currency) As Long
Private Sub Form_Click()
Dim Status As Long
Dim TotalBytes As Currency
Dim FreeBytes As Currency
Dim BytesAvailableToCaller As Currency
Status = GetDiskFreeSpaceEx(Text1.Text, BytesAvailableToCaller, _
TotalBytes, FreeBytes)
If Status <> 0 Then
MsgBox Format(TotalBytes * 10000, "#,##0"), , "Total Bytes"
MsgBox Format(FreeBytes * 10000, "#,##0"), , "Free Bytes"
MsgBox Format(BytesAvailableToCaller * 10000, "#,##0"), , _
"Bytes Available To Caller"
End If
End Sub
C#으로 변환하는 데 문제가 있으면 알려주십시오.
여기서는 WMI 솔루션을 권장해야합니다. (더 적은 수의 줄 제외) 완전히 관리되지만 트릭을 수행해야합니다.
0
WMI를 사용하여 필요한 답변을 얻을 수 있으니 대개는 시작하기에 좋습니다.
0
디스크가 파일을 저장할 수 있는지 확인하는 유일한 방법은 실제로 디스크에 해당 크기의 파일을 만드는 것입니다.
디스크 정보에 충분한 공간이 있다고 말하는 경우에도 조각 모음으로 인해 사용 가능한 디스크 공간을 거의 100 % 사용할 수 없습니다.
+0
나는 필요로하는 공간의 2 ~ 3 배가 여분의 커버리지를 가지고 있다고 확신하고있다. 하지만 메모 주셔서 감사합니다. –
관련 문제
- 1. C#/.NET을 사용하여 파일의 텍스트를 대체하는 가장 좋은 방법은 무엇입니까?
- 2. JMS 대기열의 최대 용량을 확인하는 방법은 무엇입니까?
- 3. 컬렉션 개체의 초기 용량을 결정하는 가장 좋은 방법은 무엇입니까?
- 4. 개체가 변경되었는지 확인하는 가장 좋은 방법은 무엇입니까?
- 5. 날짜와 시간을 확인하는 가장 좋은 방법은 무엇입니까
- 6. .NET에서 파일 시스템 분기의 이름을 바꾸는 가장 좋은 방법은 무엇입니까?
- 7. Java에서 파일 생성 권한을 확인하는 가장 좋은 방법은 무엇입니까
- 8. System.DateTime이 자정인지 확인하는 가장 좋은 방법은 무엇입니까?
- 9. 통화 입력을 확인하는 가장 좋은 방법은 무엇입니까?
- 10. PHP를 사용하여 Linux 시스템 파일에 쓰는 가장 좋은 방법은 무엇입니까
- 11. GetProcessesByName을 사용하여 프로세스가 실행 중인지 확인하는 가장 좋은 방법은 무엇입니까?
- 12. WPF & .NET을 배우기위한 가장 좋은 자료는 무엇입니까?
- 13. WinXP에서 .NET을 사용하는 파일 시스템 트랜잭션
- 14. 파일이 실제로 수정되었는지를 확인하는 가장 좋은 방법은 무엇입니까?
- 15. 시스템 폴더에서 모든 것을 s3으로 옮기는 가장 좋은 방법은 무엇입니까?
- 16. .net을 사용하여 Windows 컴퓨터에서 ACE 또는 JET를 확인하는 방법은 무엇입니까?
- 17. xml을 사용하여 개체를로드합니다. 가장 좋은 방법은 무엇입니까?
- 18. as2를 사용하여 Flash에서 파일 존재를 감지하는 가장 좋은 방법은 무엇입니까?
- 19. .NET에서 서버에 연결할 수 있는지 확인하는 가장 좋은 방법은 무엇입니까?
- 20. 파일의 올바른 버전이 배포되어 있는지 확인하는 가장 좋은 방법은 무엇입니까?
- 21. 가장 좋은 방법은
- 22. 웹 사이트 폴더가 있는지 확인하는 가장 좋은 방법은 무엇입니까?
- 23. 웹 사이트의 각 링크를 확인하는 가장 좋은 방법은 무엇입니까?
- 24. "호스트"파일에서 도메인 이름이 유효한지 확인하는 가장 좋은 방법은 무엇입니까?
- 25. CSS 소스의 출처를 확인하는 가장 좋은 방법은 무엇입니까
- 26. Java에서 중단 시간을 확인하는 가장 좋은 방법은 무엇입니까?
- 27. 올바른 전자 메일 주소를 확인하는 가장 좋은 방법은 무엇입니까
- 28. Subversion을 사용하여 양분하는 가장 좋은 방법은 무엇입니까?
- 29. 메소드가 Policy Injection의 속성인지 확인하는 가장 좋은 방법은 무엇입니까?
- 30. 트위터처럼 사용자 이름을 확인하는 가장 좋은 방법은 무엇입니까?
WMI 대신 API 호출은 어떻습니까? –
@Matthew : WMI보다 API를 선호하는 이유는 무엇입니까? 매우 짧은 솔루션이 있으며 WMI를 사용하면 완전히 관리됩니다 (System.Management 네임 스페이스 사용). – Noldorin
나는 단순한 PInvoke가 WMI에서 플레이하는 것보다 낫다고 생각한다. 그러나 나는 WMI가 효과가있을 것이라고 생각합니다. –