gpt4 book ai didi

用于按指定时间间隔重命名文件的 Windows 批处理文件

转载 作者:可可西里 更新时间:2023-11-01 09:57:07 24 4
gpt4 key购买 nike

我想编写一个 Windows 批处理文件,目的是每 25 秒重命名一个文件。我还希望批处理文件在 300 秒后终止。我该怎么做呢?这是我到目前为止所拥有的。

START

RENAME test.g test.go

SLEEP 25

RENAME test.go test.g

GOTO START

最佳答案

嗯,这并不难。有很多众所周知的批处理技巧,例如误用 ping 来休眠(这使您不必集成非标准工具),然后我们可以得出以下结论:

@echo off
setlocal
set n=0
:start
ren test.g test.go
ping localhost -n 26>nul 2>&1
ren test.go test.g
set /a n+=25
if %n% LSS 300 goto start
endlocal

setlocalendlocal 将确保我们创建和修改的所有环境变量将只保留在批处理文件本身的范围内。命令

ping localhost -n 26 >nul 2>&1

将等待 25 秒(因为第一个 ping 将立即执行,随后的每个 ping 都会产生一秒的延迟),同时丢弃所有正常和错误输出 (>nul 2>&1)。

最后,我们在 %n% 变量中跟踪到目前为止我们等待了多长时间,只有当 n 仍低于 300 时,我们才会继续循环。不过,您也可以使用 for 循环来完成:

@echo off
setlocal
set n=300
set /a k=n/25
for /l %%i in (1,1,%k%) do (
ren test.g test.go
ping localhost -n 26>nul 2>&1
ren test.go test.g
)
endlocal

这将首先计算它需要循环的频率,然后只迭代计算出的次数。

关于用于按指定时间间隔重命名文件的 Windows 批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1111181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com