我制作了一个如题的东西。首先它会搜索一个叫“Plain Craft Launcher 2.exe”的文件,然后把它所在的目录(去掉文件本身的文件名)赋值给%FIV%。
然后还要把和这个批处理在同一文件夹下的一个叫symenu.ldt的文件里面内容提取出来,把里面所有的[helpfill]都替换成%FIV%的内容,然后再把替换完的内容写入到%FIV%\PCL\Custom.xaml这个文件里。
然后还要把和批处理在同文件夹下的一个叫做“help”的文件夹复制到%FIV%这个目录下面。
按照这些,我做了一个批处理,但是运行不正常:首先,这个批处理同文件夹下出现了一个文件夹叫“2”,里面装着一个空的叫“Help”的文件夹。%FIV%的上级目录下出现了一个叫“PCL”的空文件夹。运行时还出现了几个提示说“语法错误“,同时最后的提示安装总用时,显示为00:00:00.00
代码如下:- @echo off
- color f0
- title SY Setup
- setlocal EnableDelayedExpansion
- echo 警告:安装程序为测试版,可能存在bug,如无法正常使用请练习@LTSC1809。
- echo 建议备份源文件,以防出现可能出现的潜在bug导致的文件丢失
- echo.
- pause
- cls
- echo SY的自定义主页 安装程序(DEV1
- echo 正在搜索PCL启动器文件夹...
- set "tt=%time%"
- set "tn=%time%"
- set "FileName=Plain Craft Launcher 2.exe"
- for %%a in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
- if exist %%a:\ (
- for /f "delims=" %%b in ('dir /a-d /s /b "%%a:\*%FileName%" 2^>nul') do (
- if /i "%%~nxb" equ "%FileName%" (
- set a=1
- set "FIV=%%~dpb"
- )
- )
- )
- )
- if not defined a (echo 未找到文件,请确认你已经安装了PCL启动器。
- pause
- exit)
- set "t1n=%time%"
- if "%t1n:~,2%" lss "%tn:~,2%" set "add=+24"
- set /a "timesn=(%t1n:~,2%-%tn:~,2%%add%)*360000+(1%t1n:~3,2%%%100-1%tn:~3,2%%%100)*6000+(1%t1n:~6,2%%%100-1%tn:~6,2%%%100)*100+(1%t1n:~-2%%%100-1%tn:~-2%%%100)" ,"ssn=(timesn/100)%%60","mmn=(timesn/6000)%%60","hhn=timesn/360000","msn=timesn%%100"
- echo 找到文件夹:%FIV% 用时:%hhn%:%mmn%:%ssn%.%msn%(时:分:秒.毫秒)
- echo 正在删除现有的自定义主页文件...
- del /f /s /q "%FIV%\PCL\Custom.xaml"
- echo 正在写入...
- set "t=%time%"
- for /f "usebackq delims=" %%i in ("%cd%\symenu.ldt") do (set str=%%i
- set str=!str:[helpfill]=%FIV%!
- echo !str!>>"%FIV%\PCL\Custom.xaml")
- set "t1=%time%"
- if "%t1:~,2%" lss "%t:~,2%" set "add=+24"
- set /a "times=(%t1:~,2%-%t:~,2%%add%)*360000+(1%t1:~3,2%%%100-1%t:~3,2%%%100)*6000+(1%t1:~6,2%%%100-1%t:~6,2%%%100)*100+(1%t1:~-2%%%100-1%t:~-2%%%100)" ,"ss=(times/100)%%60","mm=(times/6000)%%60","hh=times/360000","ms=times%%100"
- echo 写入完成!用时:%hh%:%mm%:%ss%.%ms%(时:分:秒.毫秒)
- echo 正在复制Help文件夹...
- set "tx=%time%"
- echo ·删除原有Help文件夹
- rmdir /s /q %FIV%\Help
- echo ·建立新Help文件夹
- md %FIV%\Help
- echo ·复制文件
- copy %cd%\Help %FIV%\Help
- set "t1x=%time%"
- if "%t1x:~,2%" lss "%tx:~,2%" set "add=+24"
- set /a "timesx=(%t1x:~,2%-%tx:~,2%%add%)*360000+(1%t1x:~3,2%%%100-1%tx:~3,2%%%100)*6000+(1%t1x:~6,2%%%100-1%tx:~6,2%%%100)*100+(1%t1x:~-2%%%100-1%tx:~-2%%%100)" ,"ssx=(timesx/100)%%60","mmx=(timesx/6000)%%60","hhx=timesx/360000","msx=timesx%%100"
- set "t1t=%time%"
- if "%t1t:~,2%" lss "%tt:~,2%" set "add=+24"
- set /a "timest=(%t1t:~,2%-%tt:~,2%%add%)*360000+(1%t1t:~3,2%%%100-1%tt:~3,2%%%100)*6000+(1%t1t:~6,2%%%100-1%tt:~6,2%%%100)*100+(1%t1t:~-2%%%100-1%tt:~-2%%%100)" ,"ssn=(timest/100)%%60","mmn=(timest/6000)%%60","hht=timesn/360000","mst=timesn%%100"
- echo 用时:%hhx%:%mmx%:%ssx%.%msx%(时:分:秒.毫秒)
- echo 这部分工作已经圆满完成
- echo 安装总用时:用时:%hht%:%mmt%:%sst%.%mst%(时:分:秒.毫秒)
- echo 安装已结束,请打开pcl启动器检查。
- echo 按任意键退出
- pause>nul
- exit
复制代码
|