2

我正在运行以下代码片段

Msg * "Hoi %username%, je kunt nu alle vensters sluiten en AutoCAD opniew opstarten"

但我想在 %username% 之后换一个新行我怎么能做到这一点?

编辑:

    ECHO PROOF OF FILE EXECUTION: > "%username%'s proof of file execution.txt"
ECHO.

ECHO EXECUTED BY:   %username%      >> "%username%'s proof of file execution.txt"
ECHO ON:        %date%          >> "%username%'s proof of file execution.txt"
ECHO AT:        %time%          >> "%username%'s proof of file execution.txt"
ECHO .

ECHO PC DETAILS:
ECHO .
ECHO COMPUTER:      %COMPUTERNAME%      >> "%username%'s proof of file execution.txt"

Msg * "Hoi %username% je kunt nu alle vensters sluiten en AutoCAD opniew opstarten" 
4

4 回答 4

3

问题是,什么是“Msg”,是批处理还是exe文件?它是否支持<换行>?

你可以试试这个,也许它有效。

setlocal EnableDelayedExpansion
set lf=^


rem Two blank lines (without spaces are neccessary)
Msg * "Hoi %username%!lf! je kunt nu alle vensters sluiten en AutoCAD opniew opstarten" 

但如果它有效,取决于 Msg-Command

于 2010-11-26T19:03:39.417 回答
2

杰布的回答对我不起作用。换行使 msg 跳过它后面的所有文本

解决方案是创建一个模板 msg.txt 文件,其中包含换行符并将其管道传输到 msg:

echo Hoi %username% >msg.txt
echo. >>msg.txt
echo je kunt nu alle vensters sluiten en AutoCAD opniew opstarten >>msg.txt

type msg.txt |msg *
于 2014-06-06T10:01:51.947 回答
2
@echo off
msg * Hello^

World!^

Bye^

at^

all!

输出:

Hello
World!
Bye
at
all!

带变量:

@echo off
(set msg1=Hello^^^

^

)
msg * %msg1%World!

输出

Hello
World!
于 2017-08-19T21:28:42.467 回答
0

这里介绍的所有示例要么很复杂并且包含不必要的代码,要么会出现错误。特别是当您想通过“Msg”打印许多其他“ANSI”字符时。

该代码已在许多变体中进行了测试。它简单且工作稳定:

(echo %str1%&echo %str2%)|msg "%username%" 或者 *

示例: Win+R > cmd /c " @(echo More Strings&echo.&echo For You !)|@msg *"

结果: 消息框

于 2020-10-06T22:33:04.767 回答