我有一个文件夹,例如
每个人都有一个像这样的网址 https://ia600407.us.archive.org/34/items/zfl6_512kb.mp4
我想获取.txt文件的所有文件名,然后从每个文本文件中获取URL,给它一个ID和质量,以便最终看起来像这样
<channel ID='1' name='test' url='https://ia600407.us.archive.org/34/items/zfl6_512kb.mp4' quality='best' />
<channel ID='2' name='test 1' url='https://ia600407.us.archive.org/34/items/zfwrr_512kb.mp4' quality='best' />
注意第二个没有名称的下划线,我需要添加所以它取出下划线并在for循环中添加一个空格
答案 0 :(得分:0)
@ECHO OFF
SETLOCAL enabledelayedexpansion
SET "sourcedir=U:\sourcedir\t w o"
PUSHD "%sourcedir%"
FOR /f "tokens=1*delims=[]" %%a IN ('dir /b /a-d "*.txt"^|find /n /v "" ') DO (
SET "name=%%b"
SET "name=!name:_= !"
FOR /f "delims=" %%u IN ("%%b") DO (
ECHO(^<channel ID='%%a' name='!name!' url='%%u' quality='best' /^>
)
)
GOTO :EOF
您需要更改sourcedir
的设置以适合您的具体情况。
@ECHO OFF
SETLOCAL enabledelayedexpansion
SET "sourcedir=U:\sourcedir\t w o"
PUSHD "%sourcedir%"
FOR /f "tokens=1*delims=[]" %%a IN ('dir /b /a-d "*.txt"^|find /n /v "" ') DO (
SET "name=%%b"
SET "name=!name:_= !"
FOR /f "delims=" %%u IN ('type "%%b"') DO (
>>newfile.xyz ECHO(^<channel ID='%%a' name='!name!' url='%%u' quality='best' /^>
)
)
TYPE newfile.xyz
POPD
GOTO :EOF
修改 - 请注意newfile.xyz
中已创建sourcedir
。如果在重定向器字符串中使用显式驱动器/路径,则显式驱动器/路径将覆盖默认值。
为完整性添加了popd
。
请注意,for %%u
现在适用于type %%b
;以前处理的是fileNAME,而不是内容。