Windows 在执行批处理文件时出现除以零的错误
我编写了一个批处理脚本来计算目录中的文件数。之后,我需要将相同的值赋给一个变量Windows 在执行批处理文件时出现除以零的错误,windows,batch-file,Windows,Batch File,我编写了一个批处理脚本来计算目录中的文件数。之后,我需要将相同的值赋给一个变量 @for /f %%a in ('2^>nul dir "C:\Users\robert\Desktop\Resouces" /a-d/b/-o/-p/s^|find /v /c ""') do set n=%%a @echo Totalfiles: %n%. set /A "{$temp.DataTask1[1]/inout[1]/p_FileName}=%
@for /f %%a in ('2^>nul dir "C:\Users\robert\Desktop\Resouces" /a-d/b/-o/-p/s^|find /v /c ""') do set n=%%a @echo Totalfiles: %n%.
set /A "{$temp.DataTask1[1]/inout[1]/p_FileName}=%n%"
但这会抛出被零除的错误。请让我知道我的错误。{$temp.DataTask1[1]/inout[1]/p_FileName}是变量的名称。您可以使用不带/A参数的“set”命令来解决“除以零”问题
@for /f %%a in ('2^>nul dir "C:\Users\robert\Desktop\Resouces" /a-d/b/-o/-p/s^|find /v /c ""') do set n=%%a @echo Totalfiles: %n%.
set /A "{$temp.DataTask1[1]/inout[1]/p_FileName}=%n%"
奇异变量名中的
/
被set/A
视为除法运算符,但由于您不打算进行任何算术运算,只需删除/A
。@echo
之前应该有一个换行符。实际上,您不需要分配给临时变量n
…