所以我有一组看起来像这样的文件:
[text A] (space) "(" [text 2].extension
例子 :
Joe (Nice Guy) (1993) (v.1).abc
Joe (Bad Man) (2001) (File B).xyz
我想做以下事情:
扫描文件夹
捕获 [文本 A]。在上面的示例中,捕获:“Joe”
创建名为 [text A] 的文件夹。在这里,“乔”
将所有具有 [text A] 字符串的文件移动到文件夹。
如果文件不符合上面的字符串,只需保留它而不创建文件夹并移动。
我希望这与扩展名无关,因为我有针对此场景的各种文件类型(mp3 等)(在批处理文件的开头设置扩展名)。
我总是使用:
@echo off
for %%a in (*.*) do (
md "%%~na" 2>nul
move "%%a" "%%~na"
)
但这会为 1 个文件创建 1 个文件夹。我不能编辑它像我想要的那样工作。对不起,我不擅长那个。
我使用 Windows 10。
只需添加一个额外的 FOR /F 循环来解析每个文件名的第一个标记。
for %%F in (*) do for /f "delims=(" %%A in ("%%~nF") do (
md "%%A" 2>nul
move "%%F" "%%A"
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句