标题: [文本处理] [已解决]求助批处理获取剪贴板内容,处理后再按命令运行 [打印本页]
作者: asf54a65s4f54 时间: 2022-4-5 13:36 标题: [已解决]求助批处理获取剪贴板内容,处理后再按命令运行
本帖最后由 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
最后运行一次这个命令
作者: Batcher 时间: 2022-4-5 17:42
回复 1# asf54a65s4f54 - @echo off
- cd /d "%~dp0"
- for /f "delims=" %%i in ('powershell -c "Add-Type -AssemblyName PresentationCore; [Windows.Clipboard]::GetText()"') do (
- set "StrClip=%%i"
- )
- set "StrPart1=%StrClip:pull-f5=pull-hls-f1%"
- set "StrPart2=%StrClip:~43,18%"
- for /f "delims=" %%i in ('powershell -c "Get-Date -UFormat '%%Y-%%m-%%d_%%H-%%M-%%S'"') do (
- set "StrPart3=%%i"
- )
- echo ffmpeg -i "%StrPart1%" -c copy "D:\%StrPart2%_%StrPart3%.ts
- ffmpeg -i "%StrPart1%" -c copy "D:\%StrPart2%_%StrPart3%.ts
- pause
复制代码
作者: asf54a65s4f54 时间: 2022-4-5 19:04
回复 2# Batcher
感谢回复,但是我这测试好像没有处理到剪贴板的东西,图片我上传不了
作者: Batcher 时间: 2022-4-5 19:44
回复 3# asf54a65s4f54
如需上传截图,请用图床:
http://bbs.bathome.net/thread-60985-1-1.html
如需上传附件,请用阿里云盘或百度网盘。
作者: asf54a65s4f54 时间: 2022-4-5 19:53
回复 4# Batcher
作者: Batcher 时间: 2022-4-5 20:32
回复 5# asf54a65s4f54
什么操作系统?Win7? Win10?
作者: asf54a65s4f54 时间: 2022-4-5 20:37
回复 6# Batcher
Win7
作者: Batcher 时间: 2022-4-5 21:11
回复 7# asf54a65s4f54
Win7系统的低版本PowerShell不支持第3行代码,可以考虑升级PowerShell到更高的版本。
作者: went 时间: 2022-4-5 22:19
- #&cls&@powershell -sta -c "Get-Content '%~0' | Out-String | Invoke-Expression" &pause&exit
- cls
- [void][System.Reflection.Assembly]::LoadWithPartialName('PresentationCore')
- $txt = [System.Windows.Clipboard]::GetText()
- if($txt -ne ''){
- $txt = $txt -replace 'pull-f5','pull-hls-f1'
- if($txt -match '-([^-_]+?)_[^_]+\.[^-_]'){
- $cmd = 'ffmpeg -i "{0}" -c copy "D:\{1}_{2}.ts"' -f $txt,$Matches[1],([datetime]::Now.ToString('yyyy-MM-dd_HH-mm-ss'))
- Write-Host $cmd
- $cmd | Invoke-Expression
- }
- }
复制代码
作者: WHY 时间: 2022-4-5 22:24
- @echo off
- for /f "delims=" %%i in ('mshta "JavaScript:new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(clipboardData.getData('text'));close()"') do (
- set "url=%%i"
- )
- for /f %%i in ('wmic os get LocalDateTime ^| findstr [0-9]') do (
- set "dt=%%i"
- )
-
- set "s1=%url:pull-f5=pull-hls-f1%"
- set "s2=%url:~43,18%"
- set "s3=%dt:~0,4%-%dt:~4,2%-%dt:~6,2%_%dt:~8,2%-%dt:~10,2%-%dt:~12,2%"
-
- echo ffmpeg -i "%s1%" -c copy "D:\%s2%_%s3%.ts"
- pause
复制代码
作者: asf54a65s4f54 时间: 2022-4-6 11:58
效果很好,谢谢几位大哥的回复!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |