Làm cách nào tôi có thể dừng mở rộng phần trăm trong một tệp bó?


4

(Đây là trên Windows dựa trên NT như 2000, XP, Vista, 7)

Trên dòng lệnh, các ký tự tỷ lệ phần trăm được bỏ qua:

wget "http://www.justitie.nl/images/Handleiding%20voor%20verwerkers%20persoonsgegevens_tcm34-3940.pdf"

Vì vậy, nó tải xuống chính xác tệp này (mỗi% 20 trở thành khoảng trắng):

"http://www.justitie.nl/images/Handleiding voor verwerkers persoonsgegevens_tcm34-3940.pdf"

Nhưng bên trong một tệp dữ liệu, tất cả% 20 đang được hiểu là mở rộng tham số 2 (trống) dẫn đến tệp này được tải xuống (mỗi% 20 trở thành 0):

"http://www.justitie.nl/images/Handleiding0voor0verwerkers0persoonsgegevens_tcm34-3940.pdf"

Có cách nào để phá vỡ sự mở rộng tham số phần trăm không?

--jeroen


Câu trả lời:


9

Nhân đôi dấu phần trăm:

wget "http://www.justitie.nl/images/Handleiding%%20voor%%20verwerkers%%20persoonsgegevens_tcm34-3940.pdf"

1

%được sử dụng cho các biến trong cmd.exe của Windows (và tiền thân của nó command.com).

Ký tự thoát trong cmd.exe là ^:

> tiếng vang foo ^% thanh
thanh foo%

3
cái này không hoạt động từ bên trong một tập tin bó; nhưng giải pháp của Snark hoạt động. Đây là lô-file tôi thử nghiệm: wget " justitie.nl/images/... " wget " justitie.nl/images/Handleiding ^% ^% 20voor 20verwerkers ^% 20persoonsgegevens_tcm34-3940.pdf"
Jeroen Wiert Pluimers

Tôi đã biết giải pháp của @ Snark, nhưng tôi không đoán được rằng nó cũng sẽ không hoạt động. Thật ngạc nhiên.
dgo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.