Vbscript MsgBox dòng mới từ đối số lô


0

test.vbs:

wscript.quit MsgBox ("Hello"&vbNewLine&"World",0)

làm.

prova.bat:

WScript //Nologo Message.vbs "Hello"&vbNewLine&"World" 0

Tin nhắn.vbs:

wscript.quit MsgBox (wscript.arguments(0),wscript.arguments(1))

không hoạt động (Tại sao?).

prova.bat (không có dòng mới)

WScript //Nologo Message.vbs "Hello World" 0

làm.


Dòng lệnh được thông qua cuối cùng là: WScript //Nologo Message.vbs "Hello"do "Điều này có thể được nhìn thấy trong Process Explorer - imgur.com/a/7I7MA
HelpingHand

1
Tuyệt quá! Bạn đã có thể đăng bài. Nhưng chính xác câu hỏi của bạn là gì?
LPChip

Bạn muốn điều gì xảy ra? Bạn có muốn một khoảng trắng trong đối số đầu tiên được thay thế bằng một dòng mới không?
davidmneedham

1
Bất kỳ ký hiệu nào (&) phải được thoát bằng dấu mũ (^ &). Tôi cũng đề nghị sử dụng Replace(wscript.arguments(0), "\n", vbNewLine)trong VBScript của bạn và thay đổi tệp .bat của bạn thành một cái gì đó nhưWScript //Nologo Message.vbs "Hello\nWorld" 0
davidmneedham

Câu trả lời:


1

Trong tập lệnh VBS, ký hiệu và &nghĩa là "nối" (nối) và vbNewLinelà hằng số xác định.

Trong một tệp bó, ký hiệu và "có nghĩa là" thực hiện điều này sau khi lệnh trước kết thúc "và vbNewLinekhông được xác định.

Bối cảnh là tất cả mọi thứ ở đây, và bạn cần phải tìm ra những gì bạn đang vượt qua, và các toán tử và biến trong mỗi bối cảnh có ý nghĩa gì. Một trong những ý kiến ​​trên cung cấp một cách khả thi để lấy đầu vào từ một bối cảnh và chuyển đổi nó sang bối cảnh khác.


0
Dim Messaggio
Messaggio = Replace(wscript.arguments(0),"\n",vbNewLine)
wscript.quit MsgBox(Messaggio,wscript.arguments(1))

Là hoàn hảo cho Universal Message Box với lô! ;-)
Với giá trị trả về tính bằng% errorlevel% trong trường hợp lựa chọn.
Cảm ơn tất cả!

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.