首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行.exe并替换文件的批处理文件-在.exe关闭时交换回现有文件

运行.exe并替换文件的批处理文件-在.exe关闭时交换回现有文件
EN

Stack Overflow用户
提问于 2016-02-15 04:59:06
回答 1查看 120关注 0票数 2

我很抱歉,我有点生疏了,因为我已经4年多没碰batch了……

当程序启动时,我正在尝试替换steam文件夹中的声音,我通过使用一两秒的延迟成功地实现了这一点。然而,在启动steam CRC检查损坏/丢失的文件,结果我失去了我的替换声音。为了解决这个问题,我制作了另一个批处理文件,在应用程序关闭时重新替换旧文件,这样下一次启动steam就会很愉快!

代码语言:javascript
复制
//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

--这些是单独的文件。

代码语言:javascript
复制
 //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
EN

回答 1

Stack Overflow用户

发布于 2016-02-15 12:24:06

我会把Steam message.wav的副本保存到一个文件夹中,在你启动Steam.exe之前,让它把原始版本复制进去(这可能会节省检查时间)。然后,在启动steam之后,将脚本复制到.wav文件中。

还有一个注意事项,//在批处理文件中没有注释掉任何东西,只会抛出错误,在文本之前使用REM命令。

因此,您的脚本可能如下所示:

代码语言:javascript
复制
@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

看看这对你是不是有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35397921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档