我很抱歉,我有点生疏了,因为我已经4年多没碰batch了……
当程序启动时,我正在尝试替换steam文件夹中的声音,我通过使用一两秒的延迟成功地实现了这一点。然而,在启动steam CRC检查损坏/丢失的文件,结果我失去了我的替换声音。为了解决这个问题,我制作了另一个批处理文件,在应用程序关闭时重新替换旧文件,这样下一次启动steam就会很愉快!
//replace our unwanted sound
"C:\Program Files (x86)\Steam\Steam.exe"
pause
timeout /t 4
xcopy "C:\Users\thoma\Desktop\steam sounds\message.wav" "C:\Program Files (x86)\Steam\friends\message.wav" /Y--这些是单独的文件。
//re-add our unwanted sound once the process is closed
start "" /W "C:\Program Files (x86)\Steam\Steam.exe"
xcopy "C:\Program Files (x86)\Steam\friends\message.wav" "C:\Users\thoma\Desktop\steam sounds\message.wav" /Y发布于 2016-02-15 12:24:06
我会把Steam message.wav的副本保存到一个文件夹中,在你启动Steam.exe之前,让它把原始版本复制进去(这可能会节省检查时间)。然后,在启动steam之后,将脚本复制到.wav文件中。
还有一个注意事项,//在批处理文件中没有注释掉任何东西,只会抛出错误,在文本之前使用REM命令。
因此,您的脚本可能如下所示:
@echo off
SET STEAMPATH = "C:\Program Files (x86)\Steam"
SET STEAM_WAV = "C:\Users\thoma\Desktop\steam sounds\original\message.wav"
SET MY_WAV = "C:\Users\thoma\Desktop\steam sounds\message.wav"
ECHO Putting original file in (to speed up CRC check)...
xcopy %STEAM_WAV% %STEAMPATH%\friends\message.wav /y /c
ECHO Starting Steam...
start "" "%STEAMPATH%\Steam.exe"
ECHO Waiting for Steam.exe to start...
:waiting
For /F "tokens=1" %%i In ('Tasklist /NH /FI "IMAGENAME EQ steam.exe"') Do Set sb=%%i
If /i %sb%==steam.exe (goto copyfile) Else (goto waiting)
ECHO Copying custom wav in...
:copyfile
xcopy %MY_WAV% %STEAMPATH%\friends\message.wav /y /c
ECHO DONE.....
TIMOUT /T 5看看这对你是不是有用。
https://stackoverflow.com/questions/35397921
复制相似问题