2011-10-14 35 views
29

Tôi đang chạy lệnh này trên một tập tin batch:"đã bất ngờ tại thời điểm này".

for %I in (*.txt *.doc) do copy %I c:\test2 

... và nó vẫn tiếp tục quay trở lại:

Tôi đã bất ngờ vào lúc này.

Nguyên nhân gây ra lỗi này là gì?

+7

nó có cảm giác không được ở đúng nơi – CharlesB

+11

Kể bước vào một căn phòng và cảm thấy như tất cả mọi người chỉ nói về bạn? – erbaker

+3

Điều này sẽ được trên một áo thun. –

Trả lời

44

Nếu bạn đang chạy trong một lô/file cmd, bạn cần phải đôi các % dấu:

for %%i in (*.txt *.doc) do copy %%i c:\test2 

single % biến chỉ hoạt động từ dòng lệnh.

3

Nếu được chạy từ một tập tin thực thi, các biến cần phải được thể hiện bằng hai dấu phần trăm, như %%I, chỉ từ dòng lệnh bạn sử dụng một

1

Tôi đã chạy qua trường hợp tôi gặp phải lỗi này từ tệp được đặt tên * .cmd. Các lỗi phát sinh khi tôi đã cố gắng để truy cập vào đối số đầu tiên đến lệnh batch:

if %1 EQU "" 

Khi tôi đặt dấu ngoặc kép quanh biểu tượng cho đối số đầu tiên, thông điệp cảnh báo ra đi:

if "%1" EQU "" 
1

Không phải là một câu trả lời trực tiếp cho câu hỏi, nhưng nếu bạn gặp thông báo này trong bất kỳ chương trình, lệnh batch, v.v ... thì có nhiều khả năng nó liên quan đến PATH của bạn chứa " ký tự.

Ví dụ: trong trình chỉnh sửa Atom, tôi đã nhận được thông báo trong chế độ xem cài đặt.

"\"GNU was unexpected at this time 

Đây là do một chương trình khác nhau đặt trong PATH của tôi các mục sau đây

...;C:\"Program Files"\"GNU ARM Embedded;..." 

Do đó, nhân vật antislash được đọc như thoát bởi một số chương trình, gây ra các vấn đề bởi vì khi đó nó không phải một dấu phân cách đường dẫn nhưng là một ký tự đơn giản.

Giải pháp cho tôi là xóa " khỏi PATH và mọi thứ hoạt động tốt.

...;C:\Program Files\GNU ARM Embedded;... 

PS: Tôi có một nghi ngờ có hay không điều này có thể ảnh hưởng đến chương trình gốc (GNU ARM nhúng trong trường hợp này) rằng có lẽ không hỗ trợ khoảng trống trong tên đường dẫn. Nếu ai đó với cái nhìn sâu sắc hơn có thể làm rõ trong các ý kiến, tôi sẽ cập nhật bài viết của tôi.

Hope this helps

Các vấn đề liên quan