【发布时间】:2016-07-16 18:38:10
【问题描述】:
我正在尝试在目录中查找 m3u 播放列表文件的文件大小。我不知道批处理脚本的正确语法,所以下面的代码可能无法正常运行。
我需要有关此脚本的帮助。
FOR /f %f in ('dir /b') DO {
SET %filesize% = 0
FOR /F %i in (%f) DO {
If %i~1,1% equ ":" AND %i~2,1% equ "\" (%filesize% = %filesize% + %~z1)
}
echo %f [%filesize%] & echo. > PlaylistsList.txt
}
- 第一行扫描基目录中的 m3u 文件,
- 第二行将变量文件大小设置为 0,这样它就不会在每个循环中不断添加。
- 第三行将每个 m3u 播放列表文件作为文本文件输入,以便在另一个循环中处理。
- 第四行检查文件路径格式是否为
"C:\music\"格式,通过:和\比较2nd和3rd字符。然后为 m3u 播放列表文件中找到的每个文件添加文件大小。 - 最后,文件名与文件大小一起回显。
因此在 PlaylistsList.txt 中的输出:
Rock.m3u [900 mb]
Electronic.m3u [500 mb]
Acoustic.m3u [150 mb]
【问题讨论】:
-
你想得到播放列表中文件大小的总和?
-
是的!我正在尝试获取音乐播放列表的总文件大小。
-
1.不要猜测语法,学习它!在命令提示符窗口中输入
for /?以了解其工作原理;对set和if执行相同的操作。 2、没有AND、OR等关键字;但是,您可以执行if a EQU 1 if b EQU 2 ...之类的操作来创建逻辑AND。 -
好的。谢谢!我将尝试从命令提示符中学习语法。
标签: windows batch-file windows-10 batch-processing