Có thể bạn sẽ phải yêu cầu Powershell thực thi điều này trong bảng điều khiển tiêu chuẩn để sử dụng <
đúng. Về mặt kỹ thuật, bạn có thể sử dụng get-content
và chuyển đầu ra đến mysql
, nhưng tôi luôn thấy rằng điều đó là chậm và bằng cách nào đó nó vẫn giữ nội dung tệp trong bộ nhớ của phiên Powershell.
Đây là cách tôi sẽ thực thi nó từ lời nhắc Powershell (đường dẫn tệp đã thay đổi để bao gồm khoảng trắng để minh họa dấu ngoặc kép bên trong, chỉ trong trường hợp):
cmd /C 'mysql -uuser -p --force < "C:\path\with spaces\to\file.sql"'
[GC]::collect()
rõ ràng sẽ xóa nó trong bộ nhớ, nhưng bạn không thể làm điều đó cho đến khi nó hoàn thành. Khi nói đến mysql
và mysqldump
, Tôi không bận tâm với Powershell. Mã hóa mặc định được sử dụng trong >
là Unicode, tạo ra các tệp kết xuất trong Powershell lớn gấp đôi so với cmd
trừ khi bạn nhớ viết | out-file dump.sql -enc ascii
thay vì > dump.sql
.