小编Van*_*ron的帖子

无法在批处理文件中转义感叹号

我无法逃避使用感叹号^^!。我知道我需要使用setlocal disabledelayedexpansion或只是使用,endlocal但我找不到合适的位置来放置它而不会出现任何错误。

这是我的脚本,旨在在cmd窗口的水平中心显示文本:

@echo off
setlocal enabledelayedexpansion
title Center Text
mode 80,50

set "cmdwidth=80"
:Display
cls
set Center=This is a test^^! & call :CenterText Center strLen
echo.
pause
exit

:CenterText
  if not "!%1:~%len%!"=="" set /A len+=1 & goto :CenterText
(endlocal & set %2=%len%)

goto CenterTextDisplay
:AddSpace
set "spaces=%spaces% "
goto :eof
:CenterTextDisplay
set /a "indent=(cmdwidth - strLen)/2" 
set "spaces= "
for /l %%a in (1,1,%indent%) do call :AddSpace
echo %spaces%%Center%
set "len=0" …
Run Code Online (Sandbox Code Playgroud)

escaping batch-file

5
推荐指数
1
解决办法
1710
查看次数

标签 统计

batch-file ×1

escaping ×1