
批處理安裝pcl2自定義主頁文件的安裝器運行不正常我制作了一個如題的東西。首先它會搜索一個叫“Plain Craft Launcher 2.exe”的文件,然后把它所在的目錄(去掉文件本身的文件名)賦值給%FIV%。然后還要把和這個批處理在同一文件夾下的一個叫symenu.ldt的文件里面內容提取出來,把里面所有的[helpfill]都替換成%FIV%的內容,然后再把替換完的內容寫入到%FIV%PCLCustom.xaml這個文件里。然后還要把和批處理在同文件夾下的一個叫做“help”的文件夾復制到%FIV%這個目錄下面。按照這些,我做了一個批處理,但是運行不正常:首先,這個批處理同文件夾下出現了一個文件夾叫“2”,里面裝著一個空的叫“Help”的文件夾。%FIV%的上級目錄下出現了一個叫“PCL”的空文件夾。運行時還出現了幾個提示說“語法錯誤“,同時最后的提示安裝總用時,顯示為00:00:00.00代碼如下:
nclick="copycode($('code0'));">復制代碼
- @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%PCLCustom.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%PCLCustom.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

