windows - 在 Windows 批处理文件中按换行符拆分
问题描述
我%data%
在 Windows 批处理文件中有一个变量,其中包含以下格式的变量信息:
URL_A
TEXT
URL_B
所以本质上,三个字符串由两个newline
字符分隔。每个字符串的长度在每次运行时都不同。我需要将这三行分成三个单独的变量。该FOR
命令似乎很有希望,但似乎没有办法newline
为选项指定分隔符delim=
。
编辑(根据@Compo 的要求):
这是批处理文件的语法:
play_vid.bat -stream <VID_HEIGHT> <START-TIME> <URL>
%data%
这是在我的批处理文件中生成变量的命令(需要youtube-dl
安装在%PATH%
环境变量中才能工作):
FOR /F "skip=1 delims=" %%a IN ('youtube-dl --get-title -g -f "bestvideo[height<=%2][fps<=30],worstaudio" --no-playlist "%4"') DO @set data=%%a
这是一个示例命令,其中解析了所有批处理变量,以便可以直接从 cmd 运行它来测试和查看%data%
变量的内容:
FOR /F "skip=1 delims=" %a IN ('youtube-dl --get-title -g -f "bestvideo[height<=1080][fps<=30],worstaudio" --no-playlist "https://www.youtube.com/watch?v=ltynWs_LtIw"') DO @echo %a
对于此特定示例,%data%
将包含:
https://manifest.googlevideo.com/api/manifest/dash/expire/1592941694/ei/HgjyXvilD4ndwQG3nrzoBg/ip/[redacted]
How To Stabilize GoPro Video for Free with FFMPEG
https://manifest.googlevideo.com/api/manifest/dash/expire/1592941694/ei/HgjyXvilD4ndwQG3nrzoBg/ip/[redacted]
那是,
line 1: The URL of the video (DASH) stream.
line 2: The title of the video.
line 3: The URL of the audio (DASH) stream.
解决方案
不知道你是不是这个意思?
@echo off
<test.txt (
set /p Var1=
set /p Var2=
set /p Var3=
)
echo Var1=%Var1%
echo Var2=%Var2%
echo Var3=%Var3%
pause
推荐阅读
- selenium - Selenium IDE - 将文件上传到字段中
- react-native - ImageBackground 不会出现
- python - 什么框架支持带有基本文本和多边形的简单全屏(即没有可见的镶边)应用程序?
- pyspark - 什么是 LabeledPoint RDD?如何在其中打印数据?
- java - 在为@PathParam 发送带有Url 中数据的反斜杠时,它将作为正斜杠
- javascript - 错误:无法调用 React.createContext,因为对象类型中缺少属性 createContext
- corda - 无法在 Corda 中启动流程 - java.lang.IllegalStateException:这只能在流程启动后完成
- c++ - 用 std::chrono 显示日、月和年?
- python - 如何使用 Python 找出两个数据框在列名方面的差异
- r - R:提取大列表中的字符长度