Hỏi về thay đổi thuộc tính file/folder
Moderator: tungblt
Hỏi về thay đổi thuộc tính file/folder
Làm sao để thao tác với file/folder có đường dẫn unicode (copy, xóa, đổi tên, setattrib, mở, tạo file/folder con)? Ai biết chỉ dùm nha !Thank!
Re: Hỏi về thay đổi thuộc tính file/folder
thửi dùng system.io.file và system.io.directory mình cũng đang mò , được gì post lên cho mình xem với
Để tiền trong túi làm chi
Mua liều thuốc chuột phòng khi thất tình
Mua liều thuốc chuột phòng khi thất tình
-
- Thành viên tích cực
- Posts: 108
- Joined: Sun 11/01/2009 11:40 am
- Has thanked: 2 times
- Been thanked: 1 time
Re: Hỏi về thay đổi thuộc tính file/folder
có một số bài về việc quản lý file và folder nè bạn:
http://www.caulacbovb.com/forum/viewtop ... f=28&t=510
http://www.caulacbovb.com/forum/viewtop ... &t=18#p204
Hàm bỏ thuộc tính:
http://www.caulacbovb.com/forum/viewtop ... f=28&t=488
http://www.caulacbovb.com/forum/viewtop ... f=28&t=510
http://www.caulacbovb.com/forum/viewtop ... &t=18#p204
Hàm bỏ thuộc tính:
Code: Select all
Function BoTTinh(PathFile As String)Dim BoThuoctinh As Byte BoThuoctinh = GetAttr(PathFile) BoThuoctinh = BoThuoctinh And Not vbReadOnly 'b? thu?c tính ch? d?c BoThuoctinh = BoThuoctinh And Not vbHidden 'b? thu?c tính ?n BoThuoctinh = BoThuoctinh And Not vbSystem 'b? thu?c tính ?n h? th?ng SetAttr PathFile, BoThuoctinhEnd Function
Dispirited Fact
Re: Hỏi về thay đổi thuộc tính file/folder
Anh này cũng vui tính.Anh thử thay path bằng chuỗi unicode xem? nếu không báo lỗi ....
-
- Thành viên tích cực
- Posts: 108
- Joined: Sun 11/01/2009 11:40 am
- Has thanked: 2 times
- Been thanked: 1 time
Re: Hỏi về thay đổi thuộc tính file/folder
mình đã từng làm 1 project cũng có thao tác trên unicode.Và mọi việc đều ok.ban dùng kết hợp các cách mới đạt đc kết quả chứ.
Dispirited Fact
Re: Hỏi về thay đổi thuộc tính file/folder
Vậy thì up lên đi.Thực ra tui đang làm cái khác cần thao tác tên path unicode nhưng giờ tìm được cách khác rồi.Không cần nữa.
- truongphu
- VIP
- Posts: 4781
- Joined: Sun 04/11/2007 10:57 am
- Location: Cam Đức, Khánh hòa
- Has thanked: 14 times
- Been thanked: 525 times
Re: Hỏi về thay đổi thuộc tính file/folder
Tôi đã hướng dẫn bạn rồi, sao bạn không thực hiện?
Re: Duyệt File/Folder theo chiều rộng (không Đệ Quy)
làm theo bài trên thì unicode cũng bình thường
Re: Duyệt File/Folder theo chiều rộng (không Đệ Quy)
làm theo bài trên thì unicode cũng bình thường
Re: Hỏi về thay đổi thuộc tính file/folder
Bác hiểu lầm ý em rồi thì phải. Hiện unicode thì được nhưng mà không thể nào thao tác được đâu. Em đã tham khảo bài của bác rồi. Thử tạo ra file mới trong thư mục path unicode, mặc dù không báo lỗi nhưng mà không thể nào tạo ra được. Các thao tác khác với Folder đó cũng như vậy thôi. Chứ còn dùng unicode thì có nhiều bài rồi mà.
- truongphu
- VIP
- Posts: 4781
- Joined: Sun 04/11/2007 10:57 am
- Location: Cam Đức, Khánh hòa
- Has thanked: 14 times
- Been thanked: 525 times
Re: Hỏi về thay đổi thuộc tính file/folder
Code: Select all
Private Sub Command1_Click() ' Cách 1, Nho' Windows làmOn Error Resume NextSet PathFolder = CreateObject("Shell.Application").BrowseForFolder(0, "Select a folder:", 0)TextBox1 = PathFolder.Self.PathEnd Sub Private Sub Command2_Click() ' Cách 2, thuâ`n CodeOn Error Resume NextIf TextBox2.Text = "" Then Exit SubSet fso = CreateObject("Scripting.FileSystemObject") Set f = fso.CreateFolder(TextBox2.Text)MsgBox "Ðã Xong!"MsgBox f.PathEnd Sub
- Attachments
-
- Tao file và Folder tên Unicode.rar
- (1.69 KiB) Downloaded 385 times
Re: Hỏi về thay đổi thuộc tính file/folder
Chứ không phải tạo file unicode trong path thường.Hic.
Em dùng thử code của bác bằng cách sửa lại:
Private Sub Command2_Click() ' Cách 2, thuâ`n Code
On Error Resume Next
If TextBox2.Text = "" Then Exit Sub
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateFolder(TextBox2.Text)
MsgBox f.Path
ChDir f.Path
Set fso1 = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateFolder(TextBox2.Text)
End Sub
Mục đích là sau khi tạo thư mục unicode xong nó sẽ tạo tiếp một thư mục mói cùng tên và nằm trong thư mục vừa tạo. Nếu tạo được thì mới đúng ý em. Cái của bác chỉ tạo được 1 folder unicode thôi. Còn tạo bên trong path unicode thì không được.
Còn cách 1 thì được rồi. Nhưng bác thử nghĩ khi chương trình đang chạy, duyệt cỡ vài trăm thư mục mà mở ra vài trăm dialog thì treo máy rồi còn gì.
Dù sao cũng cảm ơn bác đã tận tình giúp đỡ em. Chắc bác bực mình lắm. Nhưng em là dân không chuyên mà. Thấy hay nên tự mò thôi, không có sách vở gì cả.
Em dùng thử code của bác bằng cách sửa lại:
Private Sub Command2_Click() ' Cách 2, thuâ`n Code
On Error Resume Next
If TextBox2.Text = "" Then Exit Sub
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateFolder(TextBox2.Text)
MsgBox f.Path
ChDir f.Path
Set fso1 = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateFolder(TextBox2.Text)
End Sub
Mục đích là sau khi tạo thư mục unicode xong nó sẽ tạo tiếp một thư mục mói cùng tên và nằm trong thư mục vừa tạo. Nếu tạo được thì mới đúng ý em. Cái của bác chỉ tạo được 1 folder unicode thôi. Còn tạo bên trong path unicode thì không được.
Còn cách 1 thì được rồi. Nhưng bác thử nghĩ khi chương trình đang chạy, duyệt cỡ vài trăm thư mục mà mở ra vài trăm dialog thì treo máy rồi còn gì.
Dù sao cũng cảm ơn bác đã tận tình giúp đỡ em. Chắc bác bực mình lắm. Nhưng em là dân không chuyên mà. Thấy hay nên tự mò thôi, không có sách vở gì cả.

- truongphu
- VIP
- Posts: 4781
- Joined: Sun 04/11/2007 10:57 am
- Location: Cam Đức, Khánh hòa
- Has thanked: 14 times
- Been thanked: 525 times
Re: Hỏi về thay đổi thuộc tính file/folder
- Cũng chẳng bực mình gì, đôi khi yêu cầu của bạn lại là ý hay cần giải quếtnewbi wrote:Mục đích là sau khi tạo thư mục unicode xong nó sẽ tạo tiếp một thư mục mói cùng tên và nằm trong thư mục vừa tạo. Nếu tạo được thì mới đúng ý em. Cái của bác chỉ tạo được 1 folder unicode thôi. Còn tạo bên trong path unicode thì không được.
..
Chắc bác bực mình lắm. Nhưng em là dân không chuyên mà. Thấy hay nên tự mò thôi, không có sách vở gì cả.
- Ai đầu tiên học mò mà không thế
- Code tôi đưa ra là dạng căn bản, trên cơ sở đó bạn PHẢI VẬN DỤNG sao cho hợp yêu cầu mình
Giả sử có đường dẫn Unicode:
C:\Đường dẫn\Bạn newbi\Đang học Y\Tự mò
* mà chả có folder nào hiện diện, bạn hãy cắt chuỗi trên (Split) với dấu "\"
Dùng vòng lặp mà tạo Folder tuần tự
và chỉ cần khai một lần đối tượng Set fso = CreateObject("Scripting.FileSystemObject") là đủ
vì đúng ra, để giải phóng bộ nhớ, bạn còn phải viết khi đã xong việc đó, qua việc khác:
Code: Select all
Set fso = nothing
- hoặc xác định đã có folder đó chưa
- hoặc on error resume next
Chúc thành công