【问题标题】:Batch file to run .exe and replace file - upon .exe close swap existing file back运行 .exe 并替换文件的批处理文件 - 在 .exe 关闭时交换现有文件
【发布时间】:2016-02-14 20:59:05
【问题描述】:

抱歉,我有点生疏了,因为我已经 4 年多没碰过批次了....

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

//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

【问题讨论】:

    标签: windows batch-file


    【解决方案1】:

    我会复制 Steam message.wav 并将其保存到一个文件夹中,然后在您启动 Steam.exe 之前将其复制到原始版本中(可能会节省 CRC 检查的时间)。 然后在它启动 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
    

    看看这是否适合你。

    【讨论】:

    • 您好,感谢您的回复!我编辑了你的批次以适应我的目的,但它不仅没有启动蒸汽,而且据我所知,声音也没有复制。我将 'start "" %STEAMPATH%' 更改为仅此而已,并将 Steam.exe 包含在 'SET STEAMPATH' 中,该文件最初有效,但现在不起作用...
    • 您可能必须以管理员身份运行它,这可能意味着以管理员身份无法访问您的 thoma 文件夹。因此,您可能需要将声音文件移动到用户文件夹以外的单独文件夹。
    • 也把@echo 去掉,然后从cmd.exe 运行它,这样你就可以看到它在做什么。
    • 我之前使用简单的 xcopy 没有问题,我不明白为什么这会改变这一点。我现在试试没有回声。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多