[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]求助批处理获取剪贴板内容,处理后再按命令运行

本帖最后由 asf54a65s4f54 于 2022-4-6 12:44 编辑

比如剪贴板复制了一个链接
https://pull-f5.douyincdn.com/stage/stream-687131778444427365_or4.m3u8
先做这几个处理
第一点是把链接中的“pull-f5”替换为“pull-hls-f1”
第二点是把“687131778444427365”提取出来,也就是从第44个字符起,取18个字符
第三点就是要现在的日期时间,格式就像2022-01-01_11-00-00这样的

然后和下面这个命令结合一起:
ffmpeg -i "第一点" -c copy "D:\第二点_第三点.ts

这时应该得到命令:
ffmpeg -i "https://pull-hls-f1.douyincdn.com/stage/stream-687131778444427365_or4.m3u8" -c copy "D:\687131778444427365_2022-01-01_11-00-00.ts
最后运行一次这个命令
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

效果很好,谢谢几位大哥的回复!

TOP

  1. @echo off
  2. for /f "delims=" %%i in ('mshta "JavaScript:new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(clipboardData.getData('text'));close()"') do (
  3.     set "url=%%i"
  4. )
  5. for /f %%i in ('wmic os get LocalDateTime ^| findstr [0-9]') do (
  6.     set "dt=%%i"
  7. )
  8. set "s1=%url:pull-f5=pull-hls-f1%"
  9. set "s2=%url:~43,18%"
  10. set "s3=%dt:~0,4%-%dt:~4,2%-%dt:~6,2%_%dt:~8,2%-%dt:~10,2%-%dt:~12,2%"
  11. echo ffmpeg -i "%s1%" -c copy "D:\%s2%_%s3%.ts"
  12. pause
复制代码
1

评分人数

TOP

  1. #&cls&@powershell -sta -c "Get-Content '%~0' | Out-String | Invoke-Expression" &pause&exit
  2. cls
  3. [void][System.Reflection.Assembly]::LoadWithPartialName('PresentationCore')
  4. $txt = [System.Windows.Clipboard]::GetText()
  5. if($txt -ne ''){
  6. $txt = $txt -replace 'pull-f5','pull-hls-f1'
  7. if($txt -match '-([^-_]+?)_[^_]+\.[^-_]'){
  8. $cmd = 'ffmpeg -i "{0}" -c copy "D:\{1}_{2}.ts"' -f $txt,$Matches[1],([datetime]::Now.ToString('yyyy-MM-dd_HH-mm-ss'))
  9. Write-Host $cmd
  10. $cmd | Invoke-Expression
  11. }
  12. }
复制代码
1

评分人数

TOP

回复 7# asf54a65s4f54


    Win7系统的低版本PowerShell不支持第3行代码,可以考虑升级PowerShell到更高的版本。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 6# Batcher


    Win7

TOP

回复 5# asf54a65s4f54


    什么操作系统?Win7? Win10?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4# Batcher


   

TOP

回复 3# asf54a65s4f54


如需上传截图,请用图床:
http://bbs.bathome.net/thread-60985-1-1.html

如需上传附件,请用阿里云盘或百度网盘。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher


    感谢回复,但是我这测试好像没有处理到剪贴板的东西,图片我上传不了

TOP

回复 1# asf54a65s4f54
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%i in ('powershell -c "Add-Type -AssemblyName PresentationCore; [Windows.Clipboard]::GetText()"') do (
  4.     set "StrClip=%%i"
  5. )
  6. set "StrPart1=%StrClip:pull-f5=pull-hls-f1%"
  7. set "StrPart2=%StrClip:~43,18%"
  8. for /f "delims=" %%i in ('powershell -c "Get-Date -UFormat '%%Y-%%m-%%d_%%H-%%M-%%S'"') do (
  9.     set "StrPart3=%%i"
  10. )
  11. echo ffmpeg -i "%StrPart1%" -c copy "D:\%StrPart2%_%StrPart3%.ts
  12. ffmpeg -i "%StrPart1%" -c copy "D:\%StrPart2%_%StrPart3%.ts
  13. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表