有没有办法让我登录时启动某个程序,但只在第一个会话中启动。如果我在同一天关机并重新启动,该程序将不会自动启动。我在 Windows 和 Linux 中都问过这个问题。
我认为唯一的办法就是写剧本,但我在寻找一种不写的方法。
答案1
除非您自己可以更改此程序,否则唯一的方法就是编写脚本。幸运的是,这很简单(在 Windows 上,我假设您可以在 Linux 上以类似的方式执行相同操作):
:: Get date and remove / character
set d=%date:/=%
if exist "%TEMP%\%d%" goto :EOF
echo _ > "%TEMP%\%d%"
start program
编辑
目前,我的 TEMP 文件夹中有大约 30,000 个文件,在一个我不太常用的系统上,所以我不会太担心一年内有 365 个 1 字节文件。诚然,这些文件仍然占用一个完整的块(4kB?),也许你的磁盘空间不足,所以这里有第二个仅使用单个文件的脚本。
set today=%temp%\today
if exist "%today%" (
find "%date%" "%today%"
if errorlevel 0 goto :EOF
)
echo %date% > "%today%"
start program