找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24838|回复: 10

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

[复制链接]
发表于 2022-4-5 13:36:53 | 显示全部楼层 |阅读模式
本帖最后由 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
最后运行一次这个命令

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2022-4-5 17:42:43 | 显示全部楼层
回复 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
复制代码
 楼主| 发表于 2022-4-5 19:04:09 | 显示全部楼层
回复 2# Batcher


    感谢回复,但是我这测试好像没有处理到剪贴板的东西,图片我上传不了
发表于 2022-4-5 19:44:55 | 显示全部楼层
回复 3# asf54a65s4f54


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

如需上传附件,请用阿里云盘或百度网盘。
 楼主| 发表于 2022-4-5 19:53:15 | 显示全部楼层
回复 4# Batcher


   
发表于 2022-4-5 20:32:28 | 显示全部楼层
回复 5# asf54a65s4f54


    什么操作系统?Win7? Win10?
 楼主| 发表于 2022-4-5 20:37:58 | 显示全部楼层
回复 6# Batcher


    Win7
发表于 2022-4-5 21:11:21 | 显示全部楼层
回复 7# asf54a65s4f54


    Win7系统的低版本PowerShell不支持第3行代码,可以考虑升级PowerShell到更高的版本。
发表于 2022-4-5 22:19:37 | 显示全部楼层
  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技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2022-4-5 22:24:54 | 显示全部楼层
  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技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2022-4-6 11:58:40 | 显示全部楼层
效果很好,谢谢几位大哥的回复!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 07:21 , Processed in 0.021807 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表