Tạo file *.bat để lọc file

Liên hệ QC

anhthoichoem

Thành viên mới
Tham gia
26/10/08
Bài viết
20
Được thích
1
Chào các anh chị
Không biết anh chị trong diễn đàn có ai rành về command trong dos hướng dẫn giúp em tạo file *bat để xử lý trong tình huống này:
Em có 1 folder chứa nhiều thư mục con khác nhau, trong thư mục con lại có nhiều loại file khác nhau. Ví dụ folder gốc ở ổ D:\Thumucgoc. Em muốn copy những file excel *.xls mà tên file có chứa ký tự AE0A đến 1 địa chỉ khác ví dụ như D:\Thumucloc
Vì công việc cũng gấp mà lọc bằng tay thì rất là nhiều, mong anh chị anh rành giúm em với ạ. em cảm ơn anh chị nhiều
 
Hệ điều hành cũng làm được, cần gì phải phức tạp hóa vấn đề.\

Vào D:\Thumucgoc, trong ô Search (góc trên bên phải) bạn đánh *.AE0A*.xls
Máy tính sẽ lọc ra các file excel mà tên file chứa chuỗi ký tự AE0A
Chọn các files đó, rồi Copy/Paste sang thư mục khác.
 
Vấn đề là ở chỗ window chỉ cho copy số lượng ít thôi @nvson tầm 2000 file đổ lại. đằng này số lượng hơn 20000 thì không thể dùng win nên mình mới phải dùng cách này.
 
Vấn đề là ở chỗ window chỉ cho copy số lượng ít thôi @nvson tầm 2000 file đổ lại. đằng này số lượng hơn 20000 thì không thể dùng win nên mình mới phải dùng cách này.
Nếu dùng lệnh thì mình chỉ có copy tất cả file như bạn nói nhưng nó kèm cả subfolder (folder con) cơ.
Còn dồn hết tất cả các file vào 1 folder thui thì VBA đc ko?
 
Nếu dùng lệnh thì mình chỉ có copy tất cả file như bạn nói nhưng nó kèm cả subfolder (folder con) cơ.
Còn dồn hết tất cả các file vào 1 folder thui thì VBA đc ko?
chính xác như bạn nói lun. Mình cũng đang dùng 1 file bat nó cho phép copy nhưng nó copy lun cả subfolder.
Nếu làm VBA như bạn nói thì có lọc được những đuôi khác ngoài *.xls không bạn? Nếu được thì quá ngon rùi.
 
chính xác như bạn nói lun. Mình cũng đang dùng 1 file bat nó cho phép copy nhưng nó copy lun cả subfolder.
Nếu làm VBA như bạn nói thì có lọc được những đuôi khác ngoài *.xls không bạn? Nếu được thì quá ngon rùi.
Nếu Copy Files thì sử dụng xcopy hay Robocopy kết hợp với Fso nữa thì tuyệt vời Ông mặt trời ....Tìm trong mớ bài của mình cũng có ... hay Search GPE .... ra 1 đống
 
Nếu Copy Files thì sử dụng xcopy hay Robocopy kết hợp với Fso nữa thì tuyệt vời Ông mặt trời ....Tìm trong mớ bài của mình cũng có ... hay Search GPE .... ra 1 đống
Bác kieu manh ơi, em cũng dung robocopy voi FSO nhưng có 2 vấn đề là:
1. trong robocopy em ko tìm ra đc cách copy mà chỉ move
2. mỗi lần chạy robo với 1 sub folder thì command nó hiện nên rất nhiều (với nhiều subfolder), 1 lúc sau nó mới tự tắt hết (do chạy nhiều cmd quá)
Bác gửi file cho em thọ giáo với
File của em
 

File đính kèm

  • GopFile.xls
    36 KB · Đọc: 15
Bác kieu manh ơi, em cũng dung robocopy voi FSO nhưng có 2 vấn đề là:
1. trong robocopy em ko tìm ra đc cách copy mà chỉ move
2. mỗi lần chạy robo với 1 sub folder thì command nó hiện nên rất nhiều (với nhiều subfolder), 1 lúc sau nó mới tự tắt hết (do chạy nhiều cmd quá)
Bác gửi file cho em thọ giáo với
File của em
Bạn dùng /mov là nó copy file trong Folder nguon xong là nó xóa hết trừ file đang chạy...Bạn sửa lại là /s thì nó không xóa Files trong Folder nguon

/MIR là tạo ra Folder giống nguon
...............................

Link bác bill
https://technet.microsoft.com/en-us/library/cc733145(v=ws.10).aspx

Câu 2 mình chưa thử ...Bạn duyệt Folder kiểu đệ quy xem....
 
Lần chỉnh sửa cuối:
Bạn dùng /mov là nó copy file trong Folder nguon xong là nó xóa hết trừ file đang chạy...Bạn sửa lại là /s thì nó không xóa Files trong Folder nguon

/MIR là tạo ra Folder giống nguon
...............................

Link bác bill
https://technet.microsoft.com/en-us/library/cc733145(v=ws.10).aspx

Câu 2 mình chưa thử ...Bạn duyệt Folder kiểu đệ quy xem....

em thi search cái này hay hơn: http://ss64.com/nt/robocopy.html
MIR va /S ko dc bác ah, vì nó sẽ copy cả subfolder. em thử hết rùi, chỉ có mov hoac move là hoặt đọng như ý muốn, nếu như thế thì phải copy folder gốc để dự phòng khi có bất trắc.

Cái thứ 2 thì em cũng chưa hiểu ý bác lăm. hi
 
em thi search cái này hay hơn: http://ss64.com/nt/robocopy.html
MIR va /S ko dc bác ah, vì nó sẽ copy cả subfolder. em thử hết rùi, chỉ có mov hoac move là hoặt đọng như ý muốn, nếu như thế thì phải copy folder gốc để dự phòng khi có bất trắc.

Cái thứ 2 thì em cũng chưa hiểu ý bác lăm. hi
thì tùy người sử dụng mà viết code thôi ...nếu copy trong folder cha thôi thì code đơn giản ....nếu cả cha con cháu chắt nhà nó mà không xác định có mấy tầng lớp thì dùng đệ quy mà duyệt Folder vây...

Sửa lại code của bạn chỉ Copy Folder cha thôi cho nó gon khỏi Fso gì hết
Mã:
Public Sub RobocopyFiles(ByVal FolderCopy As String, ByVal FolderPaste As String)
    Shell ("ROBOCOPY " & """" & FolderCopy & """" & " " & """" & FolderPaste & """" & " /S")
End Sub

Bạn thêm cái chữ to màu đỏ nữa thì bạn có chạy n+1 lần nó cũng không báo cmd nữa
Shell ("ROBOCOPY " & """" & FolderCopy & """" & " " & """" & FolderPaste & """" & " /S"), vbHide
 
Lần chỉnh sửa cuối:
Các bác cứ code với kiếc, dùng trình duyệt tập tin Total Commander là xong.
 
Lần chỉnh sửa cuối:
thì tùy người sử dụng mà viết code thôi ...nếu copy trong folder cha thôi thì code đơn giản ....nếu cả cha con cháu chắt nhà nó mà không xác định có mấy tầng lớp thì dùng đệ quy mà duyệt Folder vây...

Sửa lại code của bạn chỉ Copy Folder cha thôi cho nó gon khỏi Fso gì hết
Mã:
Public Sub RobocopyFiles(ByVal FolderCopy As String, ByVal FolderPaste As String)
    Shell ("ROBOCOPY " & """" & FolderCopy & """" & " " & """" & FolderPaste & """" & " /S")
End Sub

Bạn thêm cái chữ to màu đỏ nữa thì bạn có chạy n+1 lần nó cũng không báo cmd nữa
Shell ("ROBOCOPY " & """" & FolderCopy & """" & " " & """" & FolderPaste & """" & " /S"), vbHide
Cảm ơn bác về cái vbHide, còn " /S" thì bác coi lại nhé. với lại bài toán ở đây là có nhiều subfolder nhé bác.
 
Ý em là copy mỗi file thui, nhử yêu cầu #1 ay a
Vậy có 2 cách sau:
1/ sử dụng cmd mấy hàm Anh Ndu viết đó ....cách này nhanh nhất
2/ Sử dụng Fso duyệt đệ quy lấy hết File trong Folder con cháu paste qua Folder khác ko phải sử dung thêm Robocopy nữa
 
Vậy có 2 cách sau:
1/ sử dụng cmd mấy hàm Anh Ndu viết đó ....cách này nhanh nhất
2/ Sử dụng Fso duyệt đệ quy lấy hết File trong Folder con cháu paste qua Folder khác ko phải sử dung thêm Robocopy nữa
Thực sự em mới vô diễn đàn từ cuối 2015 nên ko rõ cách của anh Ndu tn.
Còn ý thứ 2 thì đó chính là em định làm theo cái đó.
@anhthoichoem. Nếu bạn chửa tìm ra phương án tối ưu, thì bạn làm thế này nhé:
1. chạy file bat của bạn, để copy file xls của bạn, như bạn nói nó vẫn còn subfolder.
nếu ko bạn dùng command sau:
ROBOCOPY "Folderbandau" "foldertrunggian" *AE0A*.xls /MIR

2. Sau b1, thì bạn dùng file này, để move tất cả file xls từ folder có đc sau chạy file bat đó sang folder đích.

Note: Nói thêm về robocopy: tại sao nên dùng robocopy, vì tốc độ của nhanh hơn rất nhiều copy thông thường, nên nếu bạn có nhiều file, và file nặng, thì dùng nó là rất ok.
 

File đính kèm

  • GopFile.xls
    34 KB · Đọc: 15
Thực sự em mới vô diễn đàn từ cuối 2015 nên ko rõ cách của anh Ndu tn.
Còn ý thứ 2 thì đó chính là em định làm theo cái đó.
@anhthoichoem. Nếu bạn chửa tìm ra phương án tối ưu, thì bạn làm thế này nhé:
1. chạy file bat của bạn, để copy file xls của bạn, như bạn nói nó vẫn còn subfolder.
nếu ko bạn dùng command sau:
ROBOCOPY "Folderbandau" "foldertrunggian" *AE0A*.xls /MIR

2. Sau b1, thì bạn dùng file này, để move tất cả file xls từ folder có đc sau chạy file bat đó sang folder đích.

Note: Nói thêm về robocopy: tại sao nên dùng robocopy, vì tốc độ của nhanh hơn rất nhiều copy thông thường, nên nếu bạn có nhiều file, và file nặng, thì dùng nó là rất ok.
làm chi mà dài dòng vậy ...xài Fso đi chạy đệ quy cái dẹt là xong... hay kết Fso với xCopy cũng ok mà ..
xCopy kém chi Robocopy ???????????????
 
làm chi mà dài dòng vậy ...xài Fso đi chạy đệ quy cái dẹt là xong... hay kết Fso với xCopy cũng ok mà ..
xCopy kém chi Robocopy ???????????????

Mong sự chỉ giáo của bác, chứ em ko rành đệ quy lắm. Còn về Xcopy thì em thấy nó ít option hơn hẳn và bác search trên mạng thì thấy robocopy đc dùng nhiều hơn:

The most important difference is that robocopy will (usually) retry when an error occurs, while xcopy will not. In most cases, that makes robocopy far more suitable for use in a script.

They are both rubbish! XCOPY was older and unreliable, so Microsoft replaced it with ROBOCOPY, which is still rubbish.
 
Web KT

Bài viết mới nhất

Back
Top Bottom