常用批处理

2022-01-13

删除特定类型文件命令
@echo off

::设置标题和时间
title 删除.orig文件 当前时间:%date% %time%

::设置颜色
color B0

::设置窗口大小
mode con cols=120 lines=30

set count=0
for /f %%a in ('dir *.orig /b /s') do (
    set /a count+=1
    echo %%a
)

if %count%==0 goto exit

set /p choose=是否删除所有*.orig文件,Y or N ?
if /i "%choose%"=="Y" del /s /q *.orig

:exit
设置环境变量
@echo off

set KEY_NAME=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

set VALUE_NAME=opencv_include
set batpath=%~dp0include
for /f "tokens=1" %%A in ('reg query "%KEY_NAME%" /v "%VALUE_NAME%"') do (
reg delete "%KEY_NAME%" /v "%VALUE_NAME%"  /f
goto A
)
:A
reg add "%KEY_NAME%" /v "%VALUE_NAME%" /d "%batpath%" /f


set VALUE_NAME=opencv_lib
set batpath=%~dp0x64\vc15\lib
for /f "tokens=1" %%A in ('reg query "%KEY_NAME%" /v "%VALUE_NAME%"') do (
reg delete "%KEY_NAME%" /v "%VALUE_NAME%"  /f
goto B
)
:B
reg add "%KEY_NAME%" /v "%VALUE_NAME%" /d "%batpath%" /f

pause
Visual Studio项目编译后自动复制文件
xcopy $(SolutionDir)bin\$(Platform)\$(Configuration)\$(ProjectName).dll $(SolutionDir)Test\bin\x64\Debug\$(ProjectName).dll /Y
c++ 链接 opencv,自动适应版本
#define USE_OPENCV

#ifdef USE_OPENCV

#ifndef CV
#define CV

#include <opencv2/opencv.hpp>

#define CV_VERSION_ID  CVAUX_STR(CV_MAJOR_VERSION) CVAUX_STR(CV_MINOR_VERSION) CVAUX_STR(CV_SUBMINOR_VERSION)

#ifdef _DEBUG
#include <opencv2/core/utils/logger.hpp>
#define cvLIB(name) "opencv_" name CV_VERSION_ID "d"
#else
#define cvLIB(name) "opencv_" name CV_VERSION_ID
#endif

#pragma comment(lib, cvLIB("world"))

#endif // !CV


#endif // USE_OPENCV
更新git 提交名称
git filter-branch --env-filter ' 
OLD_EMAIL="xxx@qq.com" 
CORRECT_NAME="xxx" 
CORRECT_EMAIL="xxx@qq.com" 
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ] 
then 
export GIT_COMMITTER_NAME="$CORRECT_NAME" 
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL" 
fi 
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ] 
then 
export GIT_AUTHOR_NAME="$CORRECT_NAME" 
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL" 
fi 
' --tag-name-filter cat -- --branches --tags
Visual Studio C++项目通过git创建版本信息
@echo on

set revfile="%~dp0version.h"

for /f "delims=+ " %%a in ('git rev-list HEAD --count') do @set revnum=%%a
for /f "delims=+ " %%a in ('git rev-parse --short HEAD') do @set revset=%%a
for /f "delims=+ " %%a in ('git rev-parse HEAD') do @set HEAD=%%a

echo #define	Major_Version	%date:~0,4%											    >> %revfile%
echo #define	Minor_Version	%date:~5,2%											    >> %revfile%
echo #define	Revsion_Version	%date:~8,2%											    >> %revfile%
echo #define	RevNum_Version	%revnum%											    >> %revfile%
echo #define	Git_Info		"%HEAD%"											   >> %revfile%
echo #define	Product_Version	"%date:~0,4%.%date:~5,2%.%date:~8,2%.%revnum%"			   >> %revfile%
echo #define	File_Description "%revset%  %date:~0,4%.%date:~5,2%.%date:~8,2% / %time%"	>> %revfile%
Visual Studio C#项目通过git创建版本信息
@echo on

::---------------------------------------------------------------------------------------------------
set revfile="$(ProjectDir)Properties\AssemblyGitInfo.cs"

for /f "delims=+ " %%a in ('git rev-list HEAD --count') do @set revnum=%%a
for /f "delims=+ " %%a in ('git rev-parse --short HEAD') do @set shortHEAD=%%a
for /f "delims=+ " %%a in ('git rev-parse HEAD') do @set HEAD=%%a
::---------------------------------------------------------------------------------------------------
echo using System.Reflection;                        > %revfile%  

echo [assembly: AssemblyTitle("%shortHEAD%  %date:~0,4%.%date:~5,2%.%date:~8,2% / %time%")]     >> %revfile%
echo [assembly: AssemblyVersion("%date:~0,4%.%date:~5,2%.%date:~8,2%.%revnum%")]     >> %revfile%
echo [assembly: AssemblyDescription("%HEAD%")]     >> %revfile%
echo [assembly: AssemblyCopyright("Copyright @  2020-%date:~0,4%  xxxxxx")]     >> %revfile%

echo ---- Building  ----
自动解压
@echo off

::7z的安装位置
set "rar=C:\Program Files\7-Zip\7z.exe"

::7z为目录下压缩包的扩展名
for /r %%i in (*.rar) do "%rar%" x -ad -y "%%i"

::解压带密码 密码123456
::for /r %%i in (*.rar) do "%rar%" x  -p123456 -ad -y "%%i" 解压带密码 密码123456
pause
自动压缩
@echo off

::7z的安装位置
set "rar=C:\Program Files\7-Zip\7z.exe"

::7z为目录下压缩包的扩展名
for /f "delims=" %%i in ('dir /s /ad /b "."')   do ( "%rar%" a "%%i.7z" "%%i")

pause
点击查看评论

所有文章