首页 > 其他分享 >批处理BAT使用记录

批处理BAT使用记录

时间:2023-11-01 14:00:32浏览次数:35  
标签:BAT set goto 记录 批处理 writeresult echo %% call

combin.bat

rem @echo off
cls
set srcdir=%~1
set outdir=%~d1%~p1
set outname=%~n1
set outpath="%outdir%%outname%.txt"

%~d1
cd %srcdir%
del %outpath%
echo outpath: %outpath%
echo load filelist please wait...
for /f "delims=" %%a in ('dir /b') do call :ProcessOne "%srcdir%\%%a"
goto End

:ProcessOne
set curfile=%1
set curname=%~n1%~x1
echo %curfile%
echo file:%curname%>>%outpath%
type %curfile%>>%outpath%
echo.>>%outpath%
echo.>>%outpath%
goto :eof

:End
pause

register.bat

@echo off
cls
set srcdir=%~1

if exist %~1 if not exist %~1\nul goto DoFile

%~d1
cd %srcdir%
echo load filelist please wait...
for /f "delims=" %%a in ('dir /b') do call :ProcessOne "%srcdir%\%%a"
goto End

:ProcessOne
set curfile=%1
regsvr32 %curfile% /s
if '%errorlevel%' NEQ '0' goto fail
:pass
echo reg-pass  %curfile%
goto :eof
:fail
echo reg-fail  %curfile%
goto :eof


:DoFile
call :ProcessOne %~1
goto End


:End
pause

testevent.bat

chcp 936
@echo off

set infile="%~1"
cls

if %infile% EQU "" (
goto :ShowCfg
)

echo InputFile: %infile%

for /f "delims=" %%i in ('findstr "Event" %%infile%%') do (
		 set %%i 2>NUL
	)
set etype=%Event :~1,-1%
echo Type: %etype%


set barcode=(none)
for /f "delims=" %%i in ('findstr "B1.Barcode =" %%infile%%') do (
	set %%i 2>NUL
	set B1.Barcode=%B1.Barcode %
	)
for /f "delims=" %%i in ('findstr "LastBarcode =" %%infile%%') do (
	set %%i 2>NUL
	set LastBarcode=%LastBarcode %
	)
if defined B1.Barcode (
set barcode=%B1.Barcode:~1,-1%
)
if defined LastBarcode (
set barcode=%LastBarcode:~1,-1%
)
echo barcode: %barcode%


for /f "delims=" %%i in ('findstr "FileName" %%infile%%') do (
		 set %%i 2>NUL
	)
set eFile=%FileName :~1,-1%

for /f "delims=" %%i in ('findstr "BoardName" %%infile%%') do (
		 set %%i 2>NUL
	)
set eBoard=%BoardName :~1,-1%

for /f "delims=" %%i in ('find "Result = " %%infile%%') do (
		 set %%i 2>NUL
	)
set retfile=%Result :~1,-1%
set retfile="%retfile:\\=\%"
echo ResultFile: %retfile%


if %etype% EQU Barcode (
goto :Barcode
)

if %etype% EQU TestStart (
goto :TestStart
)

if %etype% EQU TestDone (
echo 测试完成事件, 可自定义动作, bat无处理
call :writeresult_ok
goto :PEnd
)

if %etype% EQU TestResult (
echo 测试结果事件, 可做上传等动作, bat无处理
call :writeresult_ok
goto :PEnd
)

if %etype% EQU FileLoad (
echo 文件载入事件
echo 载入文件为: %eFile%
echo 载入文件编号为: %eBoard%
call :writeresult_ok
goto :PEnd
)

if %etype% EQU FileChange (
echo 文件修改事件, bat无处理
call :writeresult_ok
goto :PEnd
)

echo 其他事件, 不处理
call :writeresult_ok
goto :PEnd


:ShowCfg
echo 界面可现实程序的参数设置!
goto :PEnd


:Barcode
echo 输入条码事件, 可检查条码, bat例子检查条码是否是全数字
echo 是全数字检查通过并更新条码
echo 是a-c字母检查通过并提示信息
echo 条码不是全数字作为检查失败
call :checkbarcode
if %ret% equ 1 (
echo 条码是全数字, 检查通过
call :writeresult_setbc 
goto :PEnd
)

call :checkbarcodeAC
if %ret% equ 1 (
echo 条码是a-c, 检查通过
call :writeresult_info
goto :PEnd
)

echo 条码不是全数字, 检查失败!
call :writeresult_barcode 
goto :PEnd


:TestStart
echo 测试开始事件, 可检查条码, bat例子检查条码是否是全数字
call :checkbarcode
if %ret% equ 1 (
echo 条码是全数字, 检查通过
call :writeresult_ok 
goto :PEnd
)

if %ret% equ 0 (
echo 条码不是全数字, 检查失败!
call :writeresult_barcode 
goto :PEnd
)

goto :End

:checkbarcode
echo %barcode%|findstr /v "[^0-9]" && set ret=1 || set ret=0
goto :eof

:checkbarcodeAC
echo %barcode%|findstr /v "[^a-c]" && set ret=1 || set ret=0
goto :eof


:writeresult_ok
echo TestCancel ^= ^0>%retfile%
echo InfoText ^= >>%retfile%
goto :eof

:writeresult_setbc
echo TestCancel ^= ^1>%retfile%
echo InfoText ^= >>%retfile%
echo Action\0000 ^= ;cmd=barcode;type=input;b1=33334444;>>%retfile%
echo Action\0001 ^= ;cmd=barcode;type=input;b2=77778888;>>%retfile%
goto :eof

:writeresult_info
echo TestCancel ^= ^0>%retfile%
echo InfoText ^= a-c barcode is>>%retfile%
goto :eof


:writeresult_barcode
echo TestCancel ^= ^1>%retfile%
echo InfoText ^= 条码检查, 条码不是全数字, 检查失败!>>%retfile%
goto :eof

:PEnd
echo,
pause
:End
echo End!

ilcpp.bat

@echo off

set cppdll=%1
set dlldir=%~d1%~p1
set cppdir=%~d1%~p1
set outdir=.\ilout
set copydir=%cppdir%\ilout\
set dataname=""

for /f "delims=" %%a in ('dir %dlldir%*. /b') do call :FindDataDir %%a
if "%dataname%"=="" (goto Errordataname)
echo dataname find: %dataname%
set cppmeta=%cppdir%%dataname%\il2cpp_data\Metadata\global-metadata.dat

md %outdir% 2>null
md %copydir% 2>null
copy /Y %cppdll% .\GameAssembly.dll
copy /Y %cppmeta% .\global-metadata.dat

rem C#
rem Il2CppDumper.exe GameAssembly.dll global-metadata.dat <nul
rem echo Y|Il2CppDumper.exe GameAssembly.dll global-metadata.dat
Il2CppDumper.exe GameAssembly.dll global-metadata.dat

copy config.json %outdir%
copy dump.cs %outdir%
copy ida.py %outdir%
copy ida_with_struct.py %outdir%
copy il2cpp.h %outdir%
copy ilbase.h %outdir%
copy script.json %outdir%
copy stringliteral.json %outdir%

xcopy %outdir% %copydir% /Y
goto :eof

:FindDataDir
set curfile=%1
set endname=%curfile:~-5%
if "%endname%"=="_Data" (goto FindDataDirOK)
goto :eof
:FindDataDirOK
set dataname=%curfile%
goto :eof

:Errordataname
echo dataname find fail!
goto :eof

标签:BAT,set,goto,记录,批处理,writeresult,echo,%%,call
From: https://www.cnblogs.com/zzz3265/p/17802948.html

相关文章

  • nginx 全局变量记录
    remote_addr客户端ip,如:192.168.4.2binary_remote_addr客户端ip(二进制)remote_port客户端port,如:50472remote_user已经经过AuthBasicModule验证的用户名host请求主机头字段,否则为服务器名称,如:dwz.stamhe.comrequest用户请求信息,如:GET/?_a=index&_m=show&count=10HT......
  • 挂分记录
    11.1inlinevoidmodify(intx,intdlt){}inlinevoidmodify(intl,intr,intdlt){}...modify(l,r);modify(l,r)应为modify(l,r,dlt),\(65\to55\)。intsz=vec.size();for(inti=0;i<sz;i+=2)vec[i]...sz应为sz-1,\(100\to20\)。......
  • 2.第一个MyBatis程序 搭建环境->导入MyBatis->编写代码->测试
    2.1搭建环境搭建数据库-创建表CREATETABLE`user`(`id`int(20)NOTNULL,`name`varchar(30)DEFAULTNULL,`pwd`varchar(30)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBDEFAULTCHARSET=utf8;​​INSERTinto`user`(id,name,pwd)VALUES(1,'张......
  • eslint$prettier 记录
    module.exports={//eslint配置eslintJSON:{root:true,//当前配置为根配置,将不再从上级文件夹查找配置parserOptions:{parser:'babel-eslint',//采用babel-eslint作为语法解析器sourceType:'module',//指定来源的类型,有两种script......
  • mybatis-plus的in,是传Array还是传List?仔细一看方法签名,瞬间秒懂
    springboot项目通常配合mybatisplus来做数据CRUD。我们在查询或更新数据的时候,有时要用到in来过滤数据。比如SELECT*FROMemax_scbg_orderWHEREorder_noIN(1305679009380433922,1305405259472830465)mybatisplus中关于in方法的使用,在传多个字段值的时候,我们经常搞不清是传Arr......
  • 【2023-11-01】一款基于 pdf.js 的 PDF 批注注释插件库(纯JS、高亮、画笔、多边形、历
    基于纯JavaScript和PDF.js做的一款PDF批注拓展插件-PDFMaster,一款仍能兼容支持IE11的PDF批注插件,界面美观功能强大,有无开发经验都可以快速简单快速使用。Demo及源码Demo和源码地址:https://demos.libertynlp.com功能演示视频:https://www.bilibili.com/video/BV12C4y1n7TL......
  • 多通道振弦数据记录仪在铁路隧道监测中的重要应用
    多通道振弦数据记录仪在铁路隧道监测中的重要应用岩土工程监测是工程建设中不可或缺的一环,特别是在铁路隧道工程中更是如此。为此,振弦数据记录仪成为了一种非常重要的仪器,可以帮助监测人员实时监测隧道内部的变化,为工程的安全运行提供重要保障。本文将着重介绍多通道振弦数据记录......
  • 记录一次前端表格选型过程
    客户需求:最近,接到一个客户项目,前期沟通时,客户说,我们日常基本都是使用Excel来做一些信息收集。但是每次收集信息时,都需要文件传来传去,十分麻烦。本来是想着用一些云文档,但是沟通下来领导层没通过,主要原因是:(1)内部文件安全级别高,信息不能托管在其它三方平台上,这就需要对云文档做私有......
  • javaweb--MyBatis
    持久层框架,用于简化JDBC开发负责将数据保存到数据库的那一层代码JavaEE三层架构:表现层、业务层、持久层免除了几乎所有JDBC代码及设置参数和获取结果集的工作。1、导入查询user表中所有的数据createDATABASEmybatis;usemybatis;droptableifexiststb_user;createtable......
  • 「Log」做题记录 2023.10.30-
    \(2023.10.30-2023.11.1\)\(\color{blueviolet}{AT\_abc285\_g}\)神秘题。网络流是显著的,建边方式如下:所有边容量都为\(1\)。每个点拆为入点和出点,\(S\)向入点连边,出点向\(T\)连边。1的入点向出点连边。2的出点向四联通的2或?的入点连边?当做上两个处理。考......