Di chuyển tệp sang thư mục khác javascript

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về cách di chuyển các tệp từ thư mục này sang thư mục khác trong Node. js

Sử dụng fs. đổi tên phương pháp

Nút. js có một mô-đun hệ thống tệp tích hợp, có phương thức fs.rename() giúp chúng tôi di chuyển tệp không đồng bộ từ thư mục này sang thư mục khác

Đây là một ví dụ

const fs = require("fs");
const path = require("path");

const currentPath = path.join(__dirname, "public", "car.png");
const destinationPath = path.join(__dirname, "images", "car.png");

fs.rename(currentPath, destinationPath, function (err) {
    if (err) {
        throw err
    } else {
        console.log("Successfully moved the file!");
    }
});

Đối số đầu tiên trong phương thức fs.rename()currentPath nơi chứa tệp, đối số thứ hai là destinationPath và đối số thứ ba là hàm gọi lại chạy với đối số err

Ghi chú. các fs. rename() không hoạt động chính xác trên các phân vùng chéo hoặc hệ thống tệp ảo

Để di chuyển các tệp một cách chính xác trên tất cả các nền tảng, có một gói npm có tên là mv, gói này trước tiên sẽ thử phương pháp fs.rename() sau đó chuyển sang chuyển tệp nguồn đến thư mục đích và xóa tệp nguồn

Để sử dụng nó, trước tiên chúng ta cần cài đặt gói mv từ

npm install mv
1 bằng cách chạy lệnh sau

Chào mừng bạn đến với hướng dẫn về cách di chuyển và sao chép tệp trong NodeJS. Cần sao lưu một số tệp trong NodeJS?

  • Để sao chép một tệp trong NodeJS – require("fs").copyFileSync("SOURCE", "TARGET")
  • Để di chuyển tệp trong NodeJS – require("fs").renameSync("SOURCE", "TARGET")

Điều đó bao gồm những điều cơ bản nhanh chóng, nhưng hãy đọc tiếp nếu bạn cần thêm ví dụ

ⓘ Tôi đã bao gồm một tệp zip chứa tất cả mã nguồn khi bắt đầu hướng dẫn này, vì vậy bạn không cần phải sao chép-dán mọi thứ… Hoặc nếu bạn chỉ muốn đi sâu vào

 

 

TLDR – TRANG TRÌNH BÀY NHANH

Tải xuống & Ghi chú

 

TẢI XUỐNG & LƯU Ý

Đầu tiên, đây là liên kết tải xuống mã ví dụ như đã hứa

 

GHI CHÚ NHANH

Nếu bạn phát hiện ra một lỗi, hãy bình luận bên dưới. Tôi cũng cố gắng trả lời các câu hỏi ngắn, nhưng đó là một người so với cả thế giới… Nếu bạn cần câu trả lời gấp, vui lòng xem danh sách các trang web của tôi để được trợ giúp về lập trình

 

MÃ VÍ DỤ TẢI XUỐNG

Nhấp vào đây để tải xuống tất cả mã nguồn ví dụ, tôi đã phát hành nó theo giấy phép MIT, vì vậy hãy thoải mái xây dựng trên mã nguồn đó hoặc sử dụng nó trong dự án của riêng bạn

 

 

DI CHUYỂN & SAO CHÉP TỆP TRONG NODEJS

Được rồi, bây giờ chúng ta hãy đi vào các ví dụ về cách di chuyển và sao chép tệp trong NodeJS

 

1) SAO CHÉP TẬP TIN

1 bản. js

// (A) FILE SYSTEM MODULE
const fs = require("fs"),
      source = "./README.txt",
      target = "./COPY.txt";

// (B) COPY SYNC
try {
  fs.copyFileSync(source, target);
  console.log(`Copied ${source} to ${target}`);
} catch (err) {
  console.log("Error copying file");
}

// (C) COPY ASYNC
fs.copyFile(source, target, err => {
  if (err) { console.log(err); }
  else { console.log(`Copied ${source} to ${target}`); }
});

Điều này có thể tự giải thích được, chúng tôi sử dụng copyFile() hoặc copyFileSync() để sao chép tệp. Đơn giản

 

2) DI CHUYỂN TẬP TIN

2 nước đi. js

// (A) FILE SYSTEM MODULE
const fs = require("fs"),
      source = "./COPY.txt",
      target = "./demoA/COPY.txt";

// (B) MOVE SYNC
try {
  fs.renameSync(source, target);
  console.log(`Moved ${source} to ${target}`);
} catch (err) {
  console.log("Error copying file");
}

// (C) MOVE ASYNC
fs.rename(source, target, err => {
  if (err) { console.log(err); }
  else { console.log(`Moved ${source} to ${target}`); }
});

Đúng, không có thứ gọi là moveFile() trong Node. Chúng tôi chỉ cần rename() tệp để di chuyển nó

 

 

3) SAO CHÉP LẠI TOÀN BỘ THƯ MỤC

3-sao chép-tất cả. js

// (A) FS-EXTRA MODULE
// npm install fs-extra
// https://www.npmjs.com/package/fs-extra
const fse = require("fs-extra");

// (B) COPY
try {
  fse.copySync("./demoA/", "./demoB/");
  console.log("COPY OK");
} catch (err) {
  console.log(err);
}

NodeJS không có chức năng “sao chép tất cả” riêng. Vì vậy, để sao chép đệ quy toàn bộ thư mục, cách dễ nhất là sử dụng một mô-đun chẳng hạn như

// (A) FILE SYSTEM MODULE
const fs = require("fs"),
      source = "./COPY.txt",
      target = "./demoA/COPY.txt";

// (B) MOVE SYNC
try {
  fs.renameSync(source, target);
  console.log(`Moved ${source} to ${target}`);
} catch (err) {
  console.log("Error copying file");
}

// (C) MOVE ASYNC
fs.rename(source, target, err => {
  if (err) { console.log(err); }
  else { console.log(`Moved ${source} to ${target}`); }
});
0 –
// (A) FILE SYSTEM MODULE
const fs = require("fs"),
      source = "./COPY.txt",
      target = "./demoA/COPY.txt";

// (B) MOVE SYNC
try {
  fs.renameSync(source, target);
  console.log(`Moved ${source} to ${target}`);
} catch (err) {
  console.log("Error copying file");
}

// (C) MOVE ASYNC
fs.rename(source, target, err => {
  if (err) { console.log(err); }
  else { console.log(`Moved ${source} to ${target}`); }
});
1 và thế là xong

P. S. Để di chuyển toàn bộ thư mục, có một

// (A) FILE SYSTEM MODULE
const fs = require("fs"),
      source = "./COPY.txt",
      target = "./demoA/COPY.txt";

// (B) MOVE SYNC
try {
  fs.renameSync(source, target);
  console.log(`Moved ${source} to ${target}`);
} catch (err) {
  console.log("Error copying file");
}

// (C) MOVE ASYNC
fs.rename(source, target, err => {
  if (err) { console.log(err); }
  else { console.log(`Moved ${source} to ${target}`); }
});
2 tương ứng

 

4) SAO CHÉP TẬP TIN CÓ PHẦN MỞ RỘNG

4-bản sao-ext. js

________số 8_______

Để sao chép các tệp có phần mở rộng nhất định – Cách phổ biến là lặp qua tất cả các tệp, kiểm tra phần mở rộng của tệp, sau đó chỉ sao chép những tệp phù hợp

 

 

BIT BỔ SUNG & LIÊN KẾT

Đó là tất cả những gì dành cho hướng dẫn và đây là một phần nhỏ về một số tính năng bổ sung và liên kết có thể hữu ích cho bạn

 

LIÊN KẾT và THAM KHẢO

  • . – NútJS
  • . – NútJS

 

BẢNG CHEAT INFOGRAPHIC

Cảm ơn bạn đã đọc, và chúng tôi đã đi đến cuối. Tôi hy vọng rằng nó đã giúp bạn hiểu rõ hơn và nếu bạn muốn chia sẻ bất cứ điều gì với hướng dẫn này, vui lòng bình luận bên dưới. Chúc may mắn và mã hóa hạnh phúc