You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过VBA在Windows命令提示符窗口中添加ASCII艺术字符画

VBA调用CMD输出ASCII艺术字实现方法

直接将多行ASCII字符塞入单个echo后无法正常显示,核心原因有两点:一是CMD单条echo命令仅支持输出单行内容,二是ASCII画中包含|这类CMD特殊语法字符,直接执行会被解析为管道命令而非普通文本,按以下步骤处理即可正常显示:

处理规则

  • 逐行拆分ASCII画,每行对应一条独立的echo命令,行与行之间用&连接,按顺序执行
  • ASCII画中出现的CMD特殊字符(|、<、>、&、^)前,需要加^做转义,否则会被识别为命令语法
  • 纯空白行不要直接写echo ,要写成echo.,避免输出"ECHO 处于打开状态"这类系统提示
  • 严格保留每行开头、结尾的空格,不要随意删减,否则字符画会错位变形

对应示例代码

针对你提供的ASCII样例,处理后替换原代码中"Art Here"位置的完整代码如下:

' 拼接ASCII艺术字的CMD命令段
Dim artCmd As String
artCmd = _
    "echo        ____              & " & _
    "echo       / __ \ ___  _   __ & " & _
    "echo      / / / // _ \^| ^| / / & " & _
    "echo     / /_/ //  __/^| ^|/ /  & " & _
    "echo    /_____/ \___/ ^|___/   & " & _
    "echo. & "

' 执行最终命令
shellOUT = oShell.Run("cmd.exe /s /c " & artCmd & " " & f & "  " & cf, vbNormalFocus, True)

更简便的替代方案

如果ASCII画行数多、特殊字符杂,逐行转义拼接效率太低,可以提前把ASCII画存为纯文本文件(比如命名为logo.txt),直接用CMD的type命令读取文件输出即可,不需要做任何转义处理,对应代码片段替换为:

' 替换为你的ASCII文本文件实际存储路径即可
Dim artCmd As String
artCmd = "type ""C:\your_actual_path\logo.txt"" & "

内容的提问来源于stack exchange,提问作者j johns

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 20:24:31