Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

win如何实现指定路径下视频自动上传并追加分P?目前如何自动获取追加用的BV号没有思路 #172

Open
natgeoo opened this issue Sep 24, 2024 · 6 comments

Comments

@natgeoo
Copy link

natgeoo commented Sep 24, 2024

因使用其它工具录制带弹幕版的直播,无法懒人使用现成的自动录播上传方案
以下为GPT生成:
这是一份为Windows环境设计的CMD脚本,它会监控指定的文件夹,检测新文件,并根据条件执行相应的命令。首次检测到新文件后,执行"上传"命令。之后发现新文件时,执行"追加"命令。脚本会持续运行,不会对同一文件重复执行命令。

@echo off
setlocal enabledelayedexpansion

:: 设置被监视的文件夹路径
set "WATCHED_FOLDER=F:\Downloads\DanmakuRender-5\小文(弹幕版)"

:: 用于标识是否已执行过第一次上传
set "FIRST_EXECUTED=0"

:: 存储脚本开始时间
for /f "tokens=2 delims==." %%a in ('wmic os get localdatetime /value') do set "starttime=%%a"
set "starttime=%starttime:~0,14%"

:: 开始循环监视
:loop
    for /R %WATCHED_FOLDER% %%F in (*.*) do (
        :: 获取文件最后修改时间
        for /f "tokens=1-6 delims=/: " %%a in ("%%~tF") do set filetime=%%c%%b%%a%%d%%e%%f
        
        if !filetime! gtr !starttime! (
            if "!FIRST_EXECUTED!"=="0" (
                :: 执行第一次上传的命令
                echo Uploading file for the first time: %%F
                biliup upload --submit client --line bda2 --copyright 1  --tid 242 --title 古风49 --desc 录屏 --tag 书画,古风 --dolby 0 --hires 0 --no-reprint 0 --open-elec 1 "%%F"
                set "FIRST_EXECUTED=1"
            ) else (
                :: 执行后续文件追加的命令
                echo Appending new file: %%F
                biliup append --vid BV1y4sbe5EoQ "%%F"
            )
        )
    )
    :: 更新时间,准备下次检测
    for /f "tokens=2 delims==." %%a in ('wmic os get localdatetime /value') do set "currenttime=%%a"
    set "currenttime=%currenttime:~0,14%"
    :: 检测到新文件,更新起始时间
    if !currenttime! gtr !starttime! (
        set "starttime=!currenttime!"
    )

    :: 每30秒检查一次
    timeout /t 30 /nobreak >nul
goto loop

注释说明

  1. @echo off: 用于关闭命令的显示,使得输出更为清晰。
  2. setlocal enabledelayedexpansion: 开启延迟变量展开,用于脚本中变量更复杂的处理。
  3. 设置面向监视的文件夹路径: 指定需要监控的文件夹路径。
  4. 记录脚本启动时间: 利用WMIC获取精确到分的本地日期时间。
  5. 无限循环: 使用:loop标记开始一个无限循环,用于不断监控文件夹状态。
  6. 文件时间检测逻辑: 判断文件时间是否晚于脚本启动时间。
  7. 命令执行: 根据条件执行上传或追加命令。
  8. 时间更新: 定期更新脚本参考时间,以避免重复操作同一文件。
  9. 延迟并重新循环: 循环每30秒执行一次,通过timeout命令实现延迟。

请确保脚本中的biliup命令和路径正确无误,并在实际部署前进行足够的测试以确认一切按预期运行。如有需要,调整延迟时间和文件类型等参数以适应实际运行环境。

目前如何自动获取追加用的BV号没有思路,或者有更好的办法

@897601689
Copy link

biliup会打印上传信息,上传成功的信息中包含BV号,获取一下就可以了

@natgeoo
Copy link
Author

natgeoo commented Oct 2, 2024

biliup会打印上传信息,上传成功的信息中包含BV号,获取一下就可以了

那用什么获取打印信息再传入cmd

@laomu61996
Copy link

laomu61996 commented Oct 2, 2024 via email

@natgeoo
Copy link
Author

natgeoo commented Oct 2, 2024

都喂你嘴里呗 不会的多问问gpt

________________________________ From: natgeoo @.> Sent: Wednesday, October 2, 2024 10:08:50 PM To: biliup/biliup-rs @.> Cc: Subscribed @.> Subject: Re: [biliup/biliup-rs] win如何实现指定路径下视频自动上传并追加分P?目前如何自动获取追加用的BV号没有思路 (Issue #172) biliup会打印上传信息,上传成功的信息中包含BV号,获取一下就可以了 那用什么获取打印信息再传入cmd ― Reply to this email directly, view it on GitHub<#172 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ASKM34CWJSDGFKAVR62DOLTZZP47FAVCNFSM6AAAAABOXLU7A6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBYG42DGMJUGQ. You are receiving this because you are subscribed to this thread.Message ID: @.>

嗯嗯你就是躲gpt后面手动生成的人工吧,没人找你唠来刷存在了

@laomu61996
Copy link

laomu61996 commented Oct 3, 2024 via email

@897601689
Copy link

biliup会打印上传信息,上传成功的信息中包含BV号,获取一下就可以了

那用什么获取打印信息再传入cmd

使用 python 调用 biliup 获取打印信息就行了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants