所以我有一组看起来像这样的文件:
[text A] (space) "(" [text 2].extension
示例:
Joe (Nice Guy) (1993) (v.1).abc
Joe (Bad Man) (2001) (File B).xyz
我想执行以下操作:
扫描文件夹
捕获[文本A]。在上面的示例中,捕获:“ Joe”
创建名为[文本A]的文件夹。在这里,“乔”
将所有具有[text A]字符串的文件移动到文件夹。
如果文件不符合上面的字符串,则不创建文件夹就将其保留并移动。
我希望这是与扩展名无关的,因为在这种情况下(在批处理文件的开头设置扩展名),我有各种文件类型(mp3等)。
我总是使用:
@echo off
for %%a in (*.*) do (
md "%%~na" 2>nul
move "%%a" "%%~na"
)
但这将为1个文件创建1个文件夹。我无法对其进行编辑以使其如我所愿。 抱歉,我不擅长于此。
我使用Windows 10。
答案 0 :(得分:0)
只需抛出一个额外的FOR / F循环即可解析出每个文件名的第一个标记。
for %%F in (*) do for /f "delims=(" %%A in ("%%~nF") do (
md "%%A" 2>nul
move "%%F" "%%A"
)