首页 > 解决方案 > 批处理文件缺少操作数错误,但输出正确

问题描述

我制作了一个批处理文件,将用户输入数字添加到存储在文本文件中的数字中。该文件num1.txt包含268. 我打开 cmd 并输入addToNum num1 20,我得到Missing operand.但是当我num1.txt再次打开时,它现在包含288. 所以命令有效,但我仍然得到错误。

这是我的脚本:

@echo off
set /a value = < C:\path\to\file\%1.txt
set /a value = %value% + %2
echo %value% > C:\path\to\file\%1.txt

问题是什么?为什么它不影响输出?

标签: batch-filecmd

解决方案


用于set /p从文件中获取初始值,而不是set /a

@echo off
set /p value=<"C:\path\to\file\%~1.txt"
set /a value+=%2
echo %value%>"C:\path\to\file\%~1.txt"

也使用set /a value+=%2代替set /a value=%value + %2


推荐阅读