Cách kiểm tra với đường dẫn tệp WINAPI là đĩa hoặc tệp hoặc thư mục?Cách kiểm tra với đường dẫn tệp WINAPI là đĩa hoặc tệp hoặc thư mục?
Trả lời
Sử dụng GetFileAttributes.
Edit: Bạn cũng có thể kiểm tra SHGetFileInfo
thể thử FindFirstFile:
http://msdn.microsoft.com/en-us/library/aa364418%28v=VS.85%29.aspx
Một khi bạn có dữ liệu find (thông qua như là đối số thứ 2 với chức năng đó):
if(result->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
//file is a directory
}
else
{
//file is not a directory
}
Ngoài ra, để xem nếu một cái gì đó là một khối lượng , có thể thử một cái gì đó như:
if(result->dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT)
{
if(result->dwReserved0 == IO_REPARSE_TAG_MOUNT_POINT)
{
//path is a volume; try using GetVolumeNameForVolumeMountPoint for info
}
}
HTH
Thứ khác có thể hữu ích: http://api.farmanager.com/en/winapi/win32_find_data.html [giải thích về cấu trúc WIN32_FIND_DATA]. – cubic1271
Nhưng làm cách nào để kiểm tra đường dẫn tệp là đĩa? – na1s
Xem đường dẫn có ký tự ổ đĩa ở phía trước nó không? Tất cả UNC có dạng "\\ server \ share \ file_path" Không có ký tự ổ đĩa. – JustBoo
Xem nếu đường dẫn có một ký tự ổ đĩa phía trước nó? Tất cả UNC có dạng "\\ server \ share \ file_path" Không có ký tự ổ đĩa.
Trong sự tò mò, tôi đã tìm kiếm điều này. Dựa trên bài viết MSDN Naming Files, Paths, and Namespaces này, có vẻ như lời khuyên của tôi là chính xác như thế nào nó nói nó nên được thực hiện.
Lưu ý rằng các ký tự ổ đĩa đôi khi được phép trước đường dẫn UNC: http: //blogs.msdn. com/b/oldnewthing/archive/2005/11/22/495740.aspx –
- 1. Cách kiểm tra đường dẫn từ xa là một tệp hoặc một thư mục?
- 2. Nhận biểu tượng liên quan từ tệp, thư mục hoặc ổ đĩa mà không cần WinAPI
- 3. Kiểm tra xem đối số đã qua có phải là tệp hoặc thư mục trong BASH
- 4. cách kiểm tra xem tệp có phải là thư mục hoặc tệp thông thường trong python không?
- 5. Kiểm tra xem đường dẫn có đại diện cho một tệp hay một thư mục
- 6. Đặt biến đường dẫn với dấu cách trong đường dẫn trong tệp .cmd của Windows hoặc tệp lô
- 7. Cách chỉ định đường dẫn thư viện trong tệp Android.mk hoặc tệp Application.mk?
- 8. C++ WinAPI: xử lý đường dẫn/tên tệp dài
- 9. Nhận đường dẫn UNC từ đường dẫn cục bộ hoặc đường dẫn được ánh xạ
- 10. Maven: thêm thư mục hoặc tệp jar vào đường dẫn lớp hiện tại
- 11. Ant: Tìm đường dẫn của tệp trong thư mục
- 12. lỗi bash mkdir và cp trên đường dẫn biến "không thể tạo thư mục: Không có tệp hoặc thư mục"
- 13. Cách kiểm tra thư mục tồn tại hoặc không có trong linux.?
- 14. Nút js Nhận đường dẫn thư mục từ một tệp
- 15. Trình chọn tệp JavaFX chọn tệp và/hoặc thư mục?
- 16. Kiểm tra ổ đĩa tồn tại (đường dẫn chuỗi)
- 17. Kiểm tra xem tệp có phải là thư mục hay chỉ là một tệp
- 18. Python.h: Không có tệp hoặc thư mục nào như vậy
- 19. Lưu trữ tệp trên đĩa hoặc MongoDB
- 20. Duyệt tệp hoặc thư mục Hộp thoại trong Python
- 21. Làm cách nào để có được đường dẫn thư mục hoặc tệp qua một hộp thoại WinForm?
- 22. Chọn đường dẫn thư mục với savefileDialog
- 23. loại đường dẫn thư mục với argparse
- 24. Sao chép tệp hoặc thư mục đệ quy bằng Python
- 25. xslt lấy đường dẫn thư mục tệp hiện tại
- 26. Nhận đường dẫn tệp và URL cho tệp trong thư mục tạm thời
- 27. Làm thế nào để kiểm tra xem một tệp hoặc thư mục được biểu thị bằng một đường dẫn tồn tại trong Golang?
- 28. Android: đường dẫn của thư mục tài sản cho Tệp()?
- 29. Đường dẫn thư mục của tệp Powershell Trong Powershell
- 30. Nhận đường dẫn thư mục tới tệp .class chứa chính
Nhưng làm cách nào để kiểm tra đường dẫn tệp là đĩa? – na1s
Đơn giản, đĩa là đường dẫn kết thúc bằng dấu hai chấm – mmonem
Tôi nghĩ rằng có thể kiểm tra bằng WINAPI – na1s