+2

Cách tự động tạo hàng loạt bản sao file data test trên Window dành cho testers

Trong thế giới kiểm thử phần mềm đầy tốc độ, sự hiệu quả là yếu tố quan trọng. Là một tester, đôi khi tôi phải tạo 2000 bản ghi duplicated từ 1 bản ghi có dung lượng 1GB và phải thực hiện các công việc lặp đi lặp lại như tạo dữ liệu kiểm thử hoặc tạo tệp mẫu. Đôi khi tốn nhiều giờ chạy bằng cơm chỉ để copy file và đợi chờ. Những quy trình thủ công này không chỉ tốn thời gian mà còn tăng nguy cơ gây lỗi.

Chính vì thế, hôm nay tôi sẽ bổ quả sẻ cho các bạn một giải pháp: công cụ tự động tạo tệp bằng chính Windows PowerShell trên máy tính window - mục đích quản lý tự động hóa và định cấu hình các nhiệm vụ dựa trên .NET framework. Trên Macbook các bạn cũng có thể tự custom lại. 😃

Bài toán tôi đưa ra là có 1 file tên là 500 ở ổ E, tôi muốn tạo ra n bản sao của 500 với số thứ tự tăng dần một cách tự động: 501, 502, 503..., mà không cần trình soạn thảo code.

Bước 1: Các bạn vào Windows PowerShell trên Menu Start và mở

Bước 2: Trỏ đường dẫn tới vị trí đích của những file sẽ được copy từ file gốc, ở đây mình sẽ trỏ tới ổ E

Từ giao diện của Powershell, nhập Set-Location -Path "E:"

Đảm bảo rằng thư mục cha "TargetFile_E" và thư mục con "500" đã tồn tại trên ổ đĩa E của máy tính.

Bước 3: Paste toàn bộ command dưới đây vào Powershell và Enter

$startingIndex = 500
$parentFolder = "TargetFile_E"
$sourceFolder = ""
for ($i=$startingIndex; $i -lt ($startingIndex + 100); $i++) {
    $newFolderName = "$i"
    $destinationPath = Join-Path -Path $parentFolder -ChildPath $newFolderName
    Copy-Item -Path $sourceFolder -Destination $destinationPath -Recurse
}

Giải thích:

  • Dòng 1: Định nghĩa biến "$startingIndex" với giá trị là 500.
  • Dòng 2: Định nghĩa biến "$parentFolder" với giá trị là "TargetFile_E", đây là tên của thư mục sẽ chứa những file copy.
  • Dòng 3: Định nghĩa biến "$sourceFolder" với giá trị là "OriginalFile", đây là thư mục nguồn chứa nội dung sẽ được sao chép vào các thư mục mới.
  • Dòng 4-9: Sử dụng vòng lặp "for" để tạo 100 thư mục mới. Với mỗi giá trị "$i" từ "$startingIndex" đến "$startingIndex + 100", các bước sau sẽ được thực hiện:
  • Dòng 5: Định nghĩa biến "$newFolderName" với giá trị là "$i", đây là tên thư mục mới.
  • Dòng 6: Định nghĩa biến "$destinationPath" bằng cách kết hợp đường dẫn "$parentFolder" và tên thư mục mới "$newFolderName".
  • Dòng 7: Sử dụng lệnh "Copy-Item" để sao chép nội dung từ thư mục nguồn "$sourceFolder" vào đường dẫn thư mục đích "$destinationPath".
    Tùy chọn "-Recurse" được sử dụng để sao chép tất cả các tệp và thư mục con.

Và đây là kết quả:

Lưu ý:

Đường dẫn "TargetFile_E" và "500" có thể thay đổi tùy thuộc vào đường dẫn thực tế của thư mục cha và thư mục con.
Nếu thư mục cha "TargetFile_E" nằm trong một thư mục con khác, hãy cung cấp đường dẫn đầy đủ của thư mục cha trong biến $parentFolder.

Sau khi chạy đoạn mã PowerShell này, bạn sẽ có 100 thư mục mới được tạo ra, mỗi thư mục có số thứ tự tăng dần từ 510, và chứa nội dung sao chép từ thư mục con "500".

Chúc bạn thành công!

Author: PoppinKhiem


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí