批处理的问题

来源:互联网 发布:数据分析软件spss 编辑:程序博客网 时间:2024/05/16 12:38
@echo offcall b.batset /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的方式。

原创粉丝点击