setlocal
set "s=DIR D:\MyFolder /S /Q ^|FIND /i "Owner" ^|FIND /v /i "sample" ^|findstr /m /i "\.mkv$""
for /f "Tokens=5,6*" %%a in ('%s%') do >>%tmp%\list.txt echo %%a %%b %%c
wscript "C:\my.vbs"
嘿伙计们,我有这个代码。从MyFolder获取所有者拥有的mkv文件。并通过VBS显示它们。
这些是我的档案。
The.Leftovers.S01E02.720p.BLABLABLA
Falling.Skies.S04E03.720p.BLABLABLA
我想将长度限制为20个字母。或者在720p之前删除
The.Leftovers.S01E02
Falling.Skies.S04E03
我阅读了一些指南,但我无法将它们导入到/ f“令牌中。 有可能吗?如果是这样的话?
答案 0 :(得分:0)
这是一个批处理文件,它将列出当前目录的内容,将所有名称修剪为20个字符。
SETLOCAL ENABLEDELAYEDEXPANSION
@echo off
for %%f in (*) do (
set TMPF=%%f
echo !TMPF:~0,20!
)
要获得更多帮助,请运行SET /?
以获取有关~0,20语法和示例的帮助,并CMD /?
了解ENABLEDELAYEDEXPANSION执行的操作以及!!
的功能。
我无法确定这将如何适合您的代码,但可能类似于:
SETLOCAL ENABLEDELAYEDEXPANSION
for /f "Tokens=5,6*" %%a in ('%s%') do (
set TMPA=%%a
>>%tmp%\list.txt echo !TMPA:~0,20! %%b %%c
)