【发布时间】:2021-07-31 15:00:14
【问题描述】:
我在下面有一个批处理文件
@echo off
:count
set /p output=<time.txt
:start
timeout /t 2
set /a out=%output%+2
:cut
echo %out% > time.txt
(call :code%out%)>nul 2>&1
if errorlevel 1 goto end
:code2
REM DESKTOP
pushd "C:\Users\Eliaz\Desktop\"
start "" "AutoHotkey.exe" "C:\Users\Eliaz\Desktop\DESKTOPCALLER.ahk"
popd & exit /b
goto start
:code4
REM IMPORT
pushd "D:\IMPORT\"
start "" "AutoHotkey.exe" "D:\IMPORT\IMPORTCALLER.ahk"
popd & exit /b
goto start
:code6
REM UNSORTED
pushd "D:\UNSORTED"
start "" "AutoHotkey.exe" "D:\UNSORTED\UNSORTEDCALLER.ahk"
popd & exit /b
goto start
end:
if %out%==8 (
set out=0
goto cut
) else (
goto start
)
每次我运行这个批处理文件时,它的内存使用率都很低USAGE IMAGE HERE 当我让它运行至少 10 分钟时会出现问题,因为 Windows 命令处理器内存使用量不断增加。 USAGE IMAGE HERE。我有点担心,因为我必须运行批处理文件至少 6 小时。我该如何解决这个 Windows 命令处理器内存使用不断增加的问题?
【问题讨论】:
-
push?我确定我在other post 中告诉过你pushd,我建议改为start "" autohotkey.exe。并不是说我真的认为 50mb 的利用率是个问题。您需要运行更长时间才能查看它是否继续增长。 -
哦,抱歉打错了。应该推。这两者有什么区别?即使有错字,它仍然可以正常运行。
-
另外,以前的批处理文件也有同样的问题,只是慢了很多。另一个在 10 分钟内达到 150Mb 利用率。
-
因为您在
autohotkey命令中指定了完整路径。因此,您实际上可以完全删除pushd和popd。就像我说的,将你的命令也改为start "" "AutoHotkey.exe" "D:\IMPORT\IMPORTCALLER.ahk"。 -
为了让人们帮助你,你应该解释你的代码应该做什么,(没有这些信息,人们应该如何优化它)。此外,您应该至少向我们提供一些关于您的每个 AHK 脚本在做什么的指示。从我最初阅读您的整个脚本来看,这没有意义。
标签: loops batch-file memory