Tắt Quảng Cáo [X] Đăng Nhập để ẩn Tất Cả Quảng Cáo Mình có gặp vđề như sau mò cả tối mất công nên chia sẻ lại cho anh em luôn Công ty có 4523 files bị mã hóa , do driver die nên giờ phải tải về giải nén ra đổi tên và up lại . File lúc trước quy trình là luôn luôn nhét hết files vào 1 folder tổng sau đó rename và nén lại . Nhưng đến lúc check lại giải nén hết mới biết nv cũ đã làm sai quy trình.Vì trong lần 1 giải nén phát hiện có file zip đã không nhét vào folder tổng mà nén luôn như ảnh dưới đây . Trước đó e đã tải hết về . Sau đó giải nén ra 1 lần = cách Extract each archive to seperate folders Tiếp theo e sử dụng câu lệnh PowerShell bằng cách nhấn giữ Shift và nhấn chuột phải vào folder > Get-ChildItem -Directory -Path "C:\temp" -Recurse -Depth 1 -name | Sort-Object |fl | Out-File -FilePath "c:\temp\test.txt" Ở đây cần thay thế C:\temp là thư mục mẹ và C:\temp\test.txt là file txt xuất ra. Mình sẽ thu được 1 file cấu trúc folder như ảnh 2. Tiếp tục tới phần quyền năng của Notepad++ nè . Đầu tiên mình chọn find "\" để trích hết đường dẫn ra , ảnh 3 Mình có ứng dụng cái mark và cut bookmark trên notepad++ luôn và lọc sang 1 file mới ảnh 4 Tiếp theo mình đã sử dụng câu lệnh*** \\.**** để xóa hết các ký tự đằng sau dấu \ ảnh 5 Sau đó e đã dùng lệnh ***^(. *\r?\ n)\1*** để tìm hết các kết quả duplicate ( **tìm những files làm sai quy trình** )và bookmark nó sau đó cut sang file khác ảnh 6 Vậy là công việc đã xong . List file ban đầu chỉ còn lại những file có 1 thư mục bên trong ( **file làm đúng** ) . Mình dùng thêm 1 lần nữa là dùng replace Ở Find để $ . Bên dưới replace để .zip để thêm đúng đuôi file ảnh 7 Tiếp đó tạo 1 files List.txt gồm những file chỉ có 1 thư mục bên trong ( **file đúng** ) để sử dụng Extract Here . Còn lại những file có nhiều hơn 1 thư mục bên trong ( **file làm sai** ) thì là phần còn lại Mình tạo file .ps1 dùng cho PowerShell của windows có dòng lệnh như sau : > $file_list = Get-Content C:\List.txt > $search_folder = "C:\Zip" > $destination_folder = "C:\OneFolders" > > foreach ($file in $file_list) { > $file_to_move = Get-ChildItem -Path $search_folder -Filter $file -Recurse -ErrorAction SilentlyContinue -Force | % { $_.FullName} > if ($file_to_move) { > Move-Item $file_to_move $destination_folder > } > } Ở đây file List.txt sẽ gồm những file đúng mà mình tách được ở trên cần chuyển qua thư mục khác , trong C:\Zip là cả toàn bộ thư mục ban đầu mình tải về . Đích tới là C:\OneFolders ... Giờ mình tới bước giải nén tất cả các file ở C:\OneFolders bằng Extract Here rồi . ***Còn các files còn lại ở trong C:\Zip không biết làm kiểu gì cho nhanh và tiện . Gần 400 thư mục nữa , chắc làm tay quá . bác nào có giải pháp gì không ?*** P/s : Bài học rút ra là luôn luôn ktra cấp dưới thật kỹ , để chểnh mảng là gánh hậu quả được ngay đó mấy bác . Với cả mình chỉ là nv văn phòng bình thường no code chỉ search google đã ứng dụng được nhiều thế thì mấy bác code automation khủng khiếp cỡ nào .... Bài viết chỉ để chia sẻ , nếu giúp được ai thì tốt vô cùng .....
Bài học rút ra mình thấy là chúng ta luôn có phương án backup và phương án xử lý khi vấn đề xảy ra. Còn việc kiểm tra cấp dưới khi bạn ấy mới còn vào công ty. Chứ ông nào làm 2-3 năm mà bạn cứ đi kiểm tra liên tục thì làm giảm động lực cũng như sự tin tưởng với nhau nữa. Kinh nghiệm mình chia sẻ.