1
我有一個問題,就是我可以自動關閉從另一批處理文件啓動的批處理文件。批處理 - 如何關閉從另一個批處理文件啓動的批處理文件
我的第一個批處理文件看起來是這樣的:
@echo off
:logs
start C:\Users\Kenturrac\Desktop\copy.bat
timeout 2
goto logs
所以你可以看到那裏,我開始叫「copy.bat」另一個批處理文件,它看起來像這樣:
::set arma path
@set ARMAPATH=C:\Users\Administrator.WIN-B8I65OIU3DJ\Desktop\server\dayz_epoch_1
::set log path
@set LOGPATH=%ARMAPATH%\_LOGS
@set MOVEORCOPY=copy
:: Berechne Zeitstempel
@set DAY=%DATE:~0,2%
@set MONTH=%DATE:~3,2%
@set YEAR=%DATE:~6,4%
@set DATE=%YEAR%_%MONTH%_%DAY%
@set HH=%TIME:~0,2%
@IF "%TIME:~0,1%"==" " (
set HH=0%TIME:~1,1%
)
@set MIN=%TIME:~3,2%
@set SEC=%TIME:~6,2%
@set TIME=%HH%%MIN%
@IF NOT EXIST "%LOGPATH%\%DATE%_%TIME%\" (
@set TEMPPATH=%DATE%_-_%TIME%
) ELSE (
@set TEMPPATH=%DATE%_-_%TIME%_%SEC%
)
@set TARGETPATH=%LOGPATH%\%TEMPPATH%\
@echo %TARGETPATH%
Exit /b
的問題在於它沒有關閉爲「copy.bat」啓動的額外cmd窗口。 如果我使用「call」而不是「start」,它會弄亂「temppath」變量。
設置第二個批處理文件中的變量後,它繼續複製文件。這裏看起來並不重要,所以我跳過了這部分。但是,是的,setlocal/endlocal可以和call命令一起工作。 thx!你可以向我解釋,爲什麼他沒有關閉窗口,如果我使用start命令,因爲我在第二個批處理文件的末尾使用了一個退出。 – user3621783
嘗試在開始處使用'@echo off'。 – foxidrive