两个批处理调用如何返回参数
我有2个批处理文件,一个叫a.bat,一个叫b.bat.我想用A调用B,然后从B中返回一个数值,在A中显示出来。这个返回值要怎么表示?A@echooffecho正在获取信...
我有2个批处理文件,一个叫a.bat,一个叫b.bat.我想用A调用B,然后从B中返回一个数值,在A中显示出来。这个返回值要怎么表示?
A
@echo off
echo 正在获取信息中 ...
call b.bat
echo %COMPUTERNAME%,%USERNAME%,%Size.1%>>1.txt
B
@echo off & Setlocal EnableDelayedExpansion
for /f %%i in ('Wmic Path Win32_PhysicalMemory Get BankLabel^|find /i /c "Bank"') do set N.3=%%i
set /a N.3-=1
set Size.1=0
for /f "skip=1 delims=" %%i in ('Wmic Path Win32_PhysicalMemory Get Capacity') do (
set Memory=%%i
call :Addition !Memory! !Size.1! Size.1
)
call :GetSize !Size.1! Size.1
if "!Size.1:~-5,3!"==".00" set Size.1=!Size.1:~0,-5! !Size.1:~-2!
*代码太长没办法发帖,标签部分就省略了。
B中是获取内存大小的代码,从其他地方找的。直接运行可以获取内存大小,但是把显示放到A中就不行了。我的目的是把一些计算机信息用逗号分隔后放入记事本,但是调用后的内存的数值返回不回去,我知道怎么传递到B中,但是不知道怎么返回到A中。最后的记事本里显示的应该是
计算机名,登录名,内存大小
这样的格式。还有没办法放到同一个文件中,还有一段硬盘的代码,和内存放到同一个批处理就出问题,调用着走都没事。原本这个是一行一条信息的,但是现在的目的是改成一整行信息,这样以后可以放到EXCEL表中直接用逗号分列 展开
A
@echo off
echo 正在获取信息中 ...
call b.bat
echo %COMPUTERNAME%,%USERNAME%,%Size.1%>>1.txt
B
@echo off & Setlocal EnableDelayedExpansion
for /f %%i in ('Wmic Path Win32_PhysicalMemory Get BankLabel^|find /i /c "Bank"') do set N.3=%%i
set /a N.3-=1
set Size.1=0
for /f "skip=1 delims=" %%i in ('Wmic Path Win32_PhysicalMemory Get Capacity') do (
set Memory=%%i
call :Addition !Memory! !Size.1! Size.1
)
call :GetSize !Size.1! Size.1
if "!Size.1:~-5,3!"==".00" set Size.1=!Size.1:~0,-5! !Size.1:~-2!
*代码太长没办法发帖,标签部分就省略了。
B中是获取内存大小的代码,从其他地方找的。直接运行可以获取内存大小,但是把显示放到A中就不行了。我的目的是把一些计算机信息用逗号分隔后放入记事本,但是调用后的内存的数值返回不回去,我知道怎么传递到B中,但是不知道怎么返回到A中。最后的记事本里显示的应该是
计算机名,登录名,内存大小
这样的格式。还有没办法放到同一个文件中,还有一段硬盘的代码,和内存放到同一个批处理就出问题,调用着走都没事。原本这个是一行一条信息的,但是现在的目的是改成一整行信息,这样以后可以放到EXCEL表中直接用逗号分列 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询