|
假设系统为win7并且只在win7上操作
而文件夹里有1.txt 3.reg这两个文件1.txt 是复制在 系统盘Windows目录下
而 3.reg 是在复制完文件后 注册此文件
批处理如下:
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
:: 定义要复制的文件和目标路径
SET sourceFile=1.txt
SET destination=C:\Windows
:: 定义要运行的注册表文件
SET regFile=3.reg
:: 使用wmic获取操作系统版本号
for /f "tokens=1,2,3 delims==" %%a in ('wmic os get Version /value') do (
if "%%a"=="Version" (
set "osVersion=%%b"
)
)
:: 检查是否为Windows 7
if "!osVersion!"=="6.1" (
echo 检测到Windows 7
goto CopyAndRun
) else (
echo 这不是Windows 7
goto End
)
:CopyAndRun
:: 复制文件到目标路径
if exist "%sourceFile%" (
copy /y "%sourceFile%" "%destination%\%sourceFile%"
) else (
echo 源文件 %sourceFile% 不存在。
goto End
)
:: 运行注册表文件
if exist "%regFile%" (
reg import "%regFile%"
echo 注册表文件 %regFile% 已成功运行。
) else (
echo 注册表文件 %regFile% 不存在。
)
:End
ENDLOCAL
pause
实体系统测试 在 获取操作系统版本号 这里报错
始终输出为 这不是Windows 7
感觉是获取版本号这里报错 能优化下就好
|
|