【发布时间】:2018-04-22 12:26:44
【问题描述】:
我一直在搜索并尝试创建一个基本的批处理脚本,该脚本将为我在目录中拥有的每个专辑创建一个文件夹.. 我可以展示我的图书馆的一个例子 audio folder exemple
我想要 艺术家1 - 1 / 艺术家1 - 2 / 艺术家1 - 3 / 艺术家1 - ... / 艺术家2 - 1 / 艺术家2 - ... / ...
在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
//////
【问题讨论】:
-
为了方便使用 node.js 脚本或 php 脚本。
-
multicommander.com 这样的东西不是更简单吗?不确定它可以做我想的,但也许有比在 node.js 中编程更简单的方法
-
它是一个软件,你将如何发送命令到多指令?我对 multicommander 了解不多,以及他们是否提供任何脚本执行或宏。
-
你是对的。在 node.js 中比批处理更容易?
-
在你有专长的编程语言中更容易,虽然 node 更简单、更短、更甜
标签: file batch-file