我一直在搜索并尝试创建一个基本的批处理脚本,它将为目录中的每个专辑创建一个文件夹。 我可以展示我的图书馆的例子 audio folder exemple
我想 Artist1 - 1 / Artist1 - 2 / 艺术家1 - 3 / Artist1 - ... / Artist2 - 1 / Artist2 - ... / ...
在artist1,artist2,artist3 ...文件夹中移动了单个文件夹。将复制的艺术家名称删除也很好,但这不是必需的。 如果它也没有区分非上限特征和上限,那将是很好的。
我在一个文件夹中有3000张专辑,手动编辑很痛苦。手动编辑需要我很多工作,批处理文件也可能对将来的使用更有用。 我已经看到文件到文件夹批处理和其他一些但我不确定如何为我的目的编辑它们.. bulkrenameutility 看起来不错,但不确定它能达到我需要的效果
编辑1 - 我见过这样的东西看起来不错。 但我希望能够选择一个文件夹,而不是一个名为.psd或.jpg
的文件//////
@echo off
setlocal enabledelayedexpansion
for %%A in (*.psd *.jpg) do (
echo file found %%A
for /f "delims=" %%B in ("%%A") do set fname=%%~nB
for /f "delims=" %%C in ("%%A") do set fextn=%%~xC
for /f "tokens=1* delims=_" %%D in ("!fname!") do set folname=%%D
echo folder name !folname!
if not exist "!folname!" (
echo Folder !folname! does not exist, creating
md "!folname!"
) else (
echo Folder !folname! exists
)
echo Moving file %%A to folder !folname!
move "%%A" "!folname!"
)
echo Finished
pause
//////
基本上就是这样做
//////
@echo off
:: Needed because you are working with variables that are immediately called
setlocal enabledelayedexpansion
:: Start of the loop to get all files with a psd or jpg Extension
for %%A in (*.psd *.jpg) do (
echo file found %%A
:: Grabs only the file name
for /f "delims=" %%B in ("%%A") do set fname=%%~nB
:: Grabs only the extension
for /f "delims=" %%C in ("%%A") do set fextn=%%~xC
:: Using the File name it separates it into 2 part using "_" as a delimiter so 120_low becomes 120 and low
for /f "tokens=1* delims=_" %%D in ("!fname!") do set folname=%%D
echo folder name !folname!
:: Checks for the existence of the folder, if the folder does not exist it creates the folder
if not exist "!folname!" (
echo Folder !folname! does not exist, creating
md "!folname!"
) else (
echo Folder !folname! exists
)
:: Moves the file to the folder
echo Moving file %%A to folder !folname!
move "%%A" "!folname!"
)
echo Finished
//////
答案 0 :(得分:1)
你的问题不明确。 很多的不完整细节。您应该在问题中列出某些输入文件夹中的以及带有此类输入的所需输出。例如,使用此输入:
Abdulla Rashim - weldiya (2012)
Abdulla Rashim - Weldiya E.P. (WAV)
Abdulla Rashim - A Shell of Speed
Abdulla Rashim - Unanimity
获取此输出:
Abdulla Rashim
weldiya (2012)
Weldiya E.P. (WAV)
A Shell of Speed
Unanimity
编辑:规格已相应更改为以下说明:
艺术家名称出现在" - "之前的每个当前文件夹中。 除了最后一个字符,必须是一个将要删除的空格,并且相册名称是" - "之后的部分。 除第一个字符外,必须是要删除的空格。
下面的批处理文件可以:
@echo off
setlocal EnableDelayedExpansion
for /F "tokens=1* delims=-" %%a in ('dir /AD /B') do (
set "part1=%%a" & set "part1=!part1:~0,-1!"
set "part2=%%b" & set "part2=!part2:~1!"
if not exist "!part1!" md "!part1!"
move "!part1! - !part2!" "!part1!\!part2!"
)
如果您想要更清晰的答案,您应该发布更清晰的问题......