Nodejs di chuyển tập tin

Làm cách nào tôi có thể di chuyển các tệp (như trình bao lệnh mv) trên nút. js?

Giải pháp tốt nhất

Theo nhận xét của seppo0010, tôi đã sử dụng chức năng đổi tên để làm điều đó

fs. đổi tên (oldPath, newPath, gọi lại)

Đã thêm vào. v0. 0. 2____0

Đổi tên không đồng bộ(2). Không có đối số nào khác ngoài một ngoại lệ có thể được đưa ra cho cuộc gọi lại hoàn thành

Giải pháp liên quan

Python – Cách kiểm tra xem một tệp có tồn tại mà không có ngoại lệ hay không

Nếu lý do bạn đang kiểm tra là để bạn có thể làm điều gì đó như

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
3, thì sẽ an toàn hơn khi sử dụng
from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
4 xung quanh nỗ lực mở nó. Việc kiểm tra rồi mở có nguy cơ khiến tệp bị xóa hoặc bị di chuyển hoặc điều gì đó xảy ra giữa thời điểm bạn kiểm tra và khi bạn cố mở tệp đó

Nếu bạn không định mở tệp ngay lập tức, bạn có thể sử dụng

Trả lại

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
6 nếu đường dẫn là tệp thông thường hiện có. Điều này tuân theo các liên kết tượng trưng, ​​vì vậy cả hai và có thể đúng cho cùng một đường dẫn

import os.path
os.path.isfile(fname) 

nếu bạn cần chắc chắn đó là một tập tin

Bắt đầu với Python 3. 4, cung cấp một cách tiếp cận hướng đối tượng (được nhập lại vào

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
8 trong Python 2. 7)

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists

Để kiểm tra một thư mục, hãy làm

if my_file.is_dir():
    # directory exists

Để kiểm tra xem một đối tượng

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
9 có tồn tại độc lập với tệp hay thư mục hay không, hãy sử dụng
if my_file.is_dir():
    # directory exists
0

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
0

Bạn cũng có thể sử dụng

if my_file.is_dir():
    # directory exists
1 trong khối
from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
4

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
3

Javascript – Cách bao gồm một tệp JavaScript trong một tệp JavaScript khác

Các phiên bản cũ của JavaScript không có nhập, bao gồm hoặc yêu cầu, vì vậy nhiều cách tiếp cận khác nhau cho vấn đề này đã được phát triển

Nhưng từ 2015 (ES6) JavaScript đã có chuẩn module ES6 để import module trong Node. js, cũng được hỗ trợ bởi

Để tương thích với các trình duyệt cũ hơn, có thể sử dụng các công cụ xây dựng như Webpack và Rollup và/hoặc các công cụ dịch mã như Babel

Mô-đun ES6

Các mô-đun ECMAScript (ES6) đã được hỗ trợ trong Node. js kể từ v8. 5, với cờ

if my_file.is_dir():
    # directory exists
3 và vì ít nhất Node. js v13. 8. 0 không có cờ. Để bật "ESM" (so với. Nút. js trước đây của hệ thống mô-đun kiểu CommonJS ["CJS"]), bạn có thể sử dụng
if my_file.is_dir():
    # directory exists
4 trong
if my_file.is_dir():
    # directory exists
5 hoặc cung cấp cho các tệp phần mở rộng
if my_file.is_dir():
    # directory exists
6. (Tương tự, các mô-đun được viết bằng Node. mô-đun CJS trước của js có thể được đặt tên là
if my_file.is_dir():
    # directory exists
7 nếu mặc định của bạn là ESM. )

Sử dụng

if my_file.is_dir():
    # directory exists
5

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
0

Sau đó

if my_file.is_dir():
    # directory exists
9

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
2

Sau đó

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
00

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
4

Sử dụng

if my_file.is_dir():
    # directory exists
6, bạn sẽ có
from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
02

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
2

Sau đó

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
03

import os.path
os.path.isfile(fname) 
0

Mô-đun ECMAScript trong trình duyệt

Các trình duyệt đã hỗ trợ tải trực tiếp các mô-đun ECMAScript (không yêu cầu các công cụ như Webpack) kể từ Safari 10. 1, Chrome 61, Firefox 60 và Edge 16. Kiểm tra hỗ trợ hiện tại tại. Không cần sử dụng Node. tiện ích mở rộng

if my_file.is_dir():
    # directory exists
6 của js;

import os.path
os.path.isfile(fname) 
1
import os.path
os.path.isfile(fname) 
2

Đọc thêm tại https. //jakearchibald. com/2017/es-modules-in-browsers/

Nhập động trong trình duyệt

Nhập động cho phép tập lệnh tải các tập lệnh khác khi cần

import os.path
os.path.isfile(fname) 
3

Đọc thêm tại https. // nhà phát triển. Google. com/web/cập nhật/2017/11/nhập động

Nút. js yêu cầu

Kiểu mô-đun CJS cũ hơn, vẫn được sử dụng rộng rãi trong Node. js, là hệ thống

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
05/
from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
06

import os.path
os.path.isfile(fname) 
4
import os.path
os.path.isfile(fname) 
5

Có nhiều cách khác để JavaScript đưa nội dung JavaScript bên ngoài vào trình duyệt không yêu cầu tiền xử lý

Đang tải AJAX

Bạn có thể tải tập lệnh bổ sung bằng lệnh gọi AJAX rồi sử dụng

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
07 để chạy tập lệnh đó. Đây là cách đơn giản nhất nhưng bị giới hạn trong miền của bạn do mô hình bảo mật hộp cát JavaScript. Sử dụng
from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
07 cũng có thể dẫn đến lỗi, hack và các vấn đề bảo mật

Đang tải

Giống như Nhập động, bạn có thể tải một hoặc nhiều tập lệnh bằng lệnh gọi

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
09 bằng cách sử dụng các lời hứa để kiểm soát thứ tự thực thi đối với các phần phụ thuộc của tập lệnh bằng cách sử dụng thư viện Fetch Inject

import os.path
os.path.isfile(fname) 
6jQuery Đang tải

Thư viện jQuery cung cấp chức năng tải trong một dòng

import os.path
os.path.isfile(fname) 
7Đang tải tập lệnh động

Bạn có thể thêm thẻ tập lệnh có URL tập lệnh vào HTML. Để tránh chi phí hoạt động của jQuery, đây là một giải pháp lý tưởng

Tập lệnh thậm chí có thể nằm trên một máy chủ khác. Hơn nữa, trình duyệt đánh giá mã. Thẻ

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
30 có thể được chèn vào trang web
from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
31 hoặc được chèn ngay trước thẻ đóng
from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
32

Đây là một ví dụ về cách nó có thể hoạt động

import os.path
os.path.isfile(fname) 
8

Hàm này sẽ thêm thẻ

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
30 mới vào cuối phần đầu của trang, trong đó thuộc tính
from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
34 được đặt thành URL được cung cấp cho hàm làm tham số đầu tiên

Cả hai giải pháp này đều được thảo luận và minh họa trong JavaScript Madness. Đang tải tập lệnh động

Phát hiện khi tập lệnh đã được thực thi

Bây giờ, có một vấn đề lớn bạn phải biết về. Làm điều đó ngụ ý rằng bạn tải mã từ xa. Các trình duyệt web hiện đại sẽ tải tệp và tiếp tục thực thi tập lệnh hiện tại của bạn vì chúng tải mọi thứ không đồng bộ để cải thiện hiệu suất. (Điều này áp dụng cho cả phương thức jQuery và phương thức tải tập lệnh động thủ công. )

Điều đó có nghĩa là nếu bạn trực tiếp sử dụng các thủ thuật này, bạn sẽ không thể sử dụng mã mới tải của mình ở dòng tiếp theo sau khi bạn yêu cầu tải mã, vì mã vẫn đang tải

Ví dụ.

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
35 chứa
from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
36

import os.path
os.path.isfile(fname) 
9

Sau đó bạn tải lại trang nhấn F5. Và nó hoạt động. Gây nhầm lẫn

Vậy giờ làm gì với nó ?

Chà, bạn có thể sử dụng bản hack mà tác giả gợi ý trong liên kết tôi đã đưa cho bạn. Tóm lại, đối với những người vội vàng, anh ấy sử dụng một sự kiện để chạy chức năng gọi lại khi tập lệnh được tải. Vì vậy, bạn có thể đặt tất cả mã bằng thư viện từ xa trong chức năng gọi lại. Ví dụ

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
0

Sau đó, bạn viết mã bạn muốn sử dụng SAU KHI tập lệnh được tải trong hàm lambda

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
1

Sau đó, bạn chạy tất cả

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
2

Lưu ý rằng tập lệnh có thể thực thi sau khi DOM được tải hoặc trước đó, tùy thuộc vào trình duyệt và việc bạn có bao gồm dòng

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists
37 hay không. Có một bài viết hay về tải Javascript nói chung thảo luận về vấn đề này

Hợp nhất/Tiền xử lý mã nguồn

Như đã đề cập ở đầu câu trả lời này, nhiều nhà phát triển sử dụng (các) công cụ biên dịch/xây dựng như Parcel, Webpack hoặc Babel trong các dự án của họ, cho phép họ sử dụng cú pháp JavaScript sắp tới, cung cấp khả năng tương thích ngược cho các trình duyệt cũ hơn, kết hợp các tệp, thu nhỏ,

Làm cách nào để di chuyển tệp bằng nodejs?

Khóa học Nodejs . js, bạn có thể sử dụng fs. đổi tên phương thức(oldPath, newPath, gọi lại) . Đây là hàm moveFile() có thể được sử dụng để di chuyển tệp sang thư mục khác.

Làm cách nào để di chuyển tệp bằng js?

Phương thức MoveFile() được sử dụng để di chuyển tệp từ nguồn đến đích . Phương thức này nhận hai tham số. Tham số đầu tiên, nguồn, là vị trí của tệp sẽ được di chuyển, trong khi tham số thứ hai, đích, là vị trí mới của tệp đã di chuyển.

Làm cách nào để di chuyển dữ liệu từ tệp này sang tệp khác trong nút js?

Để sao chép không đồng bộ nội dung từ tệp này sang tệp khác, chúng ta có thể sử dụng hàm copyFile() từ mô-đun fs (hệ thống tệp) trong Node. js . // Sao chép nội dung từ một tệp // sang tệp khác Không đồng bộ fs. copyFile(src, dest, () => { console.

Làm cách nào để di chuyển tệp trong cmd?

Để di chuyển một hoặc nhiều tệp. DI CHUYỂN [/Y. /-Y] [ổ đĩa. ][đường dẫn]tên tệp1[,. ] ổ đĩa đích. ][path]filename1 Chỉ định vị trí và tên của tệp hoặc các tệp bạn muốn di chuyển. đích Chỉ định vị trí mới của tệp. Đích có thể bao gồm ký tự ổ đĩa và dấu hai chấm, tên thư mục hoặc kết hợp