批处理的问题

@echo off
call b.bat
set /p str=<"%temp%\var.tmp"
echo %str%


b.bat

BatchFile code
   
   
@echo off > " %temp%\var.tmp " echo 123


@echo off
set /p str=<"./var.tmp"
set tempstr=tool_
set allstr=%tempstr%%str%.exe

echo %allstr%

以上,如果是./var.tmp中的内容为2011-08-08,则%allstr%的值为tool_2011-08-08.exe

 

也可以用以下的批处理语句直接得到日期:

set YEAR=%Date:~-14,4%
set MONTH=%Date:~-9,2%
set DATE=%Date:~-6,2%
set DATE_STR=%YEAR%_%MONTH%_%DATE%
echo %DATE_STR%

 如果是读文件中的数据再比较,要注意先调用:setlocal enabledelayedexpansion 


setlocal enabledelayedexpansion 
if exist "pack_core.exe" (
md5creater.exe -n "pack_core.exe.exe" >md5checksum.temp
if exist "./md5checksum_old.txt" (set /p strBefore=<"./md5checksum_old.txt") else (echo "not exist md5checksum_old.txt" >notexistsum.txt & exit 1)
if exist "./md5checksum.temp" (set /p strAfter=<"./md5checksum.temp") else (echo "not exist md5checksum.temp" >notexisttemp.txt & exit 1)
if !strBefore!==!strAfter! (echo "the same" >same.txt & exit 0) else (echo "different" >different.txt &exit 1)
)
exit 1

 

windows下的bat,cmd批处理文件中,如果是直接调用或用call .exe,或是其他可执行程序,会弹出窗口,同时 cmd窗口还会保留,

要想cmd窗口退出,应该用 start myother.exe的方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值