上面代码提示找不到操作数,请修改
时间: 2024-03-10 21:46:20 浏览: 48
很抱歉,我的回答中确实存在误导。在 Windows 中,命令行中的变量需要使用 `%` 包围来获取其值,而在批处理文件中,需要使用 `!` 包围来启用延迟扩展表达式。因此,正确的代码应该是:
```
@echo off
setlocal enabledelayedexpansion
set file=%1
set /a max_length=0
for /f "usebackq delims=" %%i in ("%file%") do (
set "line=%%i"
set "length=!line:~1!"
if !length! gtr !max_length! set /a max_length=!length!
)
echo The maximum length of a line in %file% is: %max_length%
pause
```
在最后一行,我们需要使用 `%` 包围 `max_length` 变量,以获取其值。同时,我们还需要启用延迟扩展表达式,以便在循环中正确地获取变量的值。
阅读全文