批处理脚本为每个图像创建一个文件夹

外交

我有一个包含100张图像的文件夹。所有图像都以这种方式命名:

FOLDER
 - MY COOL IMAGE.JPG
 - MY COOL IMAGE 2.JPG
 - MY COOL IMAGE 3.JPG
 ...

我需要为每个图像创建一个文件夹,女巫的名称与对应图像的名称相同。

FOLDERS
 -my-cool-image
   - MY COOL IMAGE.JPG
 -my-cool-image-2
   - MY COOL IMAGE 2.JPG
 -my-cool-image-3
   - MY COOL IMAGE 3.JPG
 ...

我在Windows上,正在寻找脚本来自动执行此操作。

如果有人可以帮助您提供一些链接和/或示例代码,我将不胜感激。

谢谢。

壁球手

这行代码是一个非常简单的解决方案。

FOR %%G IN (*.jpg) DO MD "%%~nG"

~n修饰符告诉它给你的基本文件名不带扩展名。

要将文件移动到新目录,只需使用move命令。

FOR %%G IN (*.jpg) DO (
    MD "%%~nG"
    move "%%~G" "%%~nG\"
)

这是带有小写字母和连字符的最终代码。

@echo off
setlocal enabledelayedexpansion

For %%G IN (*.jpg) DO (
    set "str=%%~nG"
    set "str=-!str: =-!"
    call :toLower str
    MD "!str!"
    move "%%~G" "!str!\"
)

GOTO :EOF
:toLower str -- converts uppercase character to lowercase
::           -- str [in,out] - valref of string variable to be converted
:$created 20060101 :$changed 20080219 :$categories StringManipulation
:$source https://www.dostips.com
if not defined %~1 EXIT /b
for %%a in ("A=a" "B=b" "C=c" "D=d" "E=e" "F=f" "G=g" "H=h" "I=i"
            "J=j" "K=k" "L=l" "M=m" "N=n" "O=o" "P=p" "Q=q" "R=r"
            "S=s" "T=t" "U=u" "V=v" "W=w" "X=x" "Y=y" "Z=z" "Ä=ä"
            "Ö=ö" "Ü=ü") do (
    call set "%~1=%%%~1:%%~a%%"
)
EXIT /b

我完全忘记/L了该DIR命令选项这大大缩短了代码。

@echo off
setlocal enabledelayedexpansion

For /f "delims=" %%G IN ('dir /A-D /B /L *.jpg') DO (
    set "str=%%~nG"
    set "str=-!str: =-!"
    MD "!str!"
    move "%%~G" "!str!\"
)

我将添加更多代码示例,因为将其他代码添加到您所问的另一个问题非常容易。

要在新创建的目录中创建一个空文本文件,将只是一行额外的代码。您使用大于符号的重定向运算符将输出发送到文件。我们将在NUL设备上使用type命令来创建一个空文件。您可以根据需要命名文件。

type nul>"!str!\file.txt"

如果要在文件中放入内容,请使用ECHO命令。

echo I want this in the text file>"!str!\file.txt"

MOVE命令之后使用这些示例之一

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

创建一个批处理脚本,该脚本从用户那里获取输入并创建文件夹结构

批处理脚本,从列出的文件和文件夹列表中创建一个ZIP文件

WinRAR批处理文件,用于将每个文件夹中的第一个子目录压缩为一个zip文件

为文件夹中的每个文件创建一个文件夹,但不包含文件夹本身

删除Windows批处理脚本中除一个文件夹之外的文件夹?

将第一个文件夹设置为可变批处理文件

Windows批处理文件,循环浏览文件夹中的文件以创建参数列表以传递到另一个脚本

如何创建一个批处理脚本,该脚本删除早于X的文件,而不删除根文件夹中的文件并排除某些子文件夹?

如何创建一个批处理文件来检查文件夹中是否存在四个特定的文件/文件夹?

仅当文件夹为空时,如何从第一个批处理文件中调用第二个批处理文件?

为文件夹名称中的日期创建一个用于日志旋转的bash脚本

批处理 Windows - 如何创建一个循环来重命名不同文件夹中的许多文件?

如何创建快捷方式以在一个文件夹中启动批处理文件?

创建一个批处理文件以将日志分类到各自的月年文件夹中......?

批处理脚本 - 从根位置开始快速递归查找第一个文件夹

批处理脚本以在每个子文件夹中执行一些命令

根据今天的日期创建一个文件夹,然后使用批处理文件将文件复制到新文件夹中

需要创建一个批处理文件以从一个文件夹中选择一个随机文件并复制到另一个文件夹

如果使用批处理文件已经存在一个具有相同名称的文件夹,则创建编号文件夹

在目录的每个子文件夹中创建一个文件夹?

如何创建一个批处理,在本地网络上的所有(未知)共享文件夹中搜索特定文件夹?

批处理文件:复制除一个文件夹外的所有文件和文件夹

批处理:找到几个文件夹并为每个文件夹创建文件

批处理文件-如何读取一个文件夹中的多个.txt文件?

为目录中的每个zip文件创建一个专用文件夹并提取zip文件

使用表作为工作表为文件夹中的每个Access文件(.mdb)创建一个Excel文件

批处理文件以部分文件夹名称打开一个文件夹

使用CMD或批处理将多个文件从子文件夹移动到一个文件夹

如何编写一个批处理脚本,该脚本遍历所有子文件夹中的所有png文件并执行操作?