batch-file - 批处理文件缺少操作数错误,但输出正确
问题描述
我制作了一个批处理文件,将用户输入数字添加到存储在文本文件中的数字中。该文件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
问题是什么?为什么它不影响输出?
解决方案
用于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
推荐阅读
- android - getItemViewType() 中的 RecyclerView 位置始终为 0
- c# - WPF ApplicationData 抛出 System.ArgumentException
- ios - 从苹果商店下载后,有一种方法可以调试或编辑 ios 应用程序
- c# - 是否有可能如何使用 linq All、Any 和
- firebase - 如何使用 Firebase 安全规则仅允许指定的子名称进行写入操作
- r - 如何在忽略 R 中的转义字符的同时将数据框中的文本写入 csv?
- snowflake-cloud-data-platform - 雪花:悬停在表名称上显示创建日期如何添加修改日期
- r - 在 R 中将错误消息捕获为字符串
- java - 如何在使用左外连接运行批处理作业时修复 Apache Flink TaskManager 的心跳失败
- node.js - 如何安全地将大文件从浏览器上传到 Amazon S3 上的存储桶?