首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过批处理文件根据可变长度的文件名创建文件夹

如何通过批处理文件根据可变长度的文件名创建文件夹
EN

Stack Overflow用户
提问于 2013-10-21 13:26:15
回答 2查看 403关注 0票数 2

我有一组文件,我希望复制到一组新的子文件夹。

例如:

0_107_206.tif

1__69.tif

1_16_75.tif

1_40_117.tif

2__36.tif

2_26_62.tif

35__19.tif

这些文件根据文件名的第一个子字符串(如0、1或35 )存储在文件夹中。我希望基于2 '_‘字符之间的第二个子字符串创建子文件夹。我试过几件事

分生孢子 %B在(*.tif) DO ( 设置FileName=%%B 设置FileName1=!文件名:~2! 设置FileName2=!文件名1:~0,-7! MD %TargetPath%FileName2! ) ENDLOCAL

但这还不够灵活。是否有一种方法可以获得'_‘字符的位置并将其输入到SUBSTRING函数中?当然,这需要在一个循环中工作,因为我需要处理数千个文件。

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-21 13:32:57

代码语言:javascript
运行
复制
FOR %%B in (*.tif) DO (
    for /f "tokens=1,2 delims=_" %%x in ("%%~B") do (
        md "%TargetPath%%%~y"
        copy %%~B "%TargetPath%%%~y\%%~B"
    )

)
票数 3
EN

Stack Overflow用户

发布于 2013-10-21 14:11:18

给定文件结构

代码语言:javascript
运行
复制
u:\0\0_107_206.tif
u:\1\1_0_69.tif
u:\1\1_16_75.tif
u:\1\1_40_117.tif
u:\2\2_0_36.tif
u:\2\2_26_62.tif
u:\35\35_0_19.tif

然后这批:

代码语言:javascript
运行
复制
@ECHO OFF
SETLOCAL
SET "sourcedir=u:"
SET "destdir=c:\destdir"
 FOR /f "tokens=1*delims=" %%a IN (
  'dir /s /b /a-d "%sourcedir%\*_*_*.tif" '
  ) DO FOR /f "tokens=1,2,3delims=_" %%B IN ("%%~na") DO (
   ECHO MD "%destdir%\%%C"
   ECHO COPY /b "%%a" "%destdir%\%%C\"
 )
GOTO :EOF

会产生

代码语言:javascript
运行
复制
MD "c:\destdir\107"
COPY /b "u:\0\0_107_206.tif" "c:\destdir\107\"
MD "c:\destdir\0"
COPY /b "u:\1\1_0_69.tif" "c:\destdir\0\"
MD "c:\destdir\16"
COPY /b "u:\1\1_16_75.tif" "c:\destdir\16\"
MD "c:\destdir\40"
COPY /b "u:\1\1_40_117.tif" "c:\destdir\40\"
MD "c:\destdir\0"
COPY /b "u:\2\2_0_36.tif" "c:\destdir\0\"
MD "c:\destdir\26"
COPY /b "u:\2\2_26_62.tif" "c:\destdir\26\"
MD "c:\destdir\0"
COPY /b "u:\35\35_0_19.tif" "c:\destdir\0\"

因此,您只需更改源代码和目标目录名称,以适应;如果适当,将copy命令更改为move;删除要激活的ECHO关键字。

您还可以将2>nul附加到MD行,以抑制“diretory已经存在”消息。

或者,您可以将COPY替换为XCOPY,这样MD就变得无关紧要了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19495834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档