找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 21076|回复: 10

[文件操作] [已解决]批处理如何根据文件名自创文件夹归类?

[复制链接]
发表于 2023-8-31 21:25:58 | 显示全部楼层 |阅读模式
本帖最后由 liaoguinan 于 2023-9-1 22:18 编辑


如何上图文件名前缀创建对应的文件夹把对应的文件放入内
下图是创建的文件夹

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2023-8-31 22:47:05 | 显示全部楼层
本帖最后由 Five66 于 2023-8-31 23:08 编辑

啊.搞错了,已编辑
发表于 2023-8-31 23:41:24 | 显示全部楼层
  1. for /f "tokens=1-2 delims=-" %%i in ('dir /b /on "*.jpg"') do md %%i-%%j>nul 2>nul&&move /y "%%i-%%j*.jpg" "%%i-%%j"
复制代码

评分

参与人数 1技术 +1 收起 理由
liaoguinan + 1 感谢

查看全部评分

发表于 2023-9-1 00:42:11 | 显示全部楼层
  1. @echo off
  2. for /f "tokens=1-2* delims=-" %%a in ('dir /b /a-d *-*-*^|find /v "%~nx0"') do (
  3.         if not exist "%%a-%%b" (
  4.                 md "%%a-%%b"
  5.         )
  6.         move "%%a-%%b-%%c" "%%a-%%b"
  7. )
  8. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
liaoguinan + 1 感谢

查看全部评分

发表于 2023-9-1 00:51:55 | 显示全部楼层
本帖最后由 Five66 于 2023-9-1 15:51 编辑

这次应该没搞错了吧,文件名最好不要有特殊字符,还有前缀长度必须统一

  1. @echo off
  2. rem 前缀长度 如1.2.3.4-111-001.jpg 前缀为 1.2.3.4-111 长度11
  3. set hz=11

  4. for %%a in (*.jp*) do (
  5. set "aaa=%%a"
  6. setlocal enabledelayedexpansion
  7. set thehz=!aaa:~0,%hz%!
  8. if not exist "!thehz!" echo 创建文件夹:"!thehz!"&md "!thehz!"
  9. echo   移动文件:%%a&move "%%a" "!thehz!" 1>nul
  10. endlocal
  11. echo.
  12. )
  13. echo done&pause&exit /b
复制代码
发表于 2023-9-1 06:21:13 | 显示全部楼层
本帖最后由 Nsqs 于 2023-9-1 06:22 编辑
  1. powershell -noprofile -executionpolicy bypass "dir *.jpg -File|%%{$name=$_.BaseName -replace '(?=.+)-\d+$';if(!(Test-Path -PathType Container $name)){md $name}move $_.FullName $name}"
复制代码
发表于 2023-9-1 08:49:52 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /a-d *.jpg') do (
  4.     set str=%%~nxi
  5.     if not exist "!str:~,-4!" md "!str:~,-4!"
  6.     move "%%i" "!str:~,-4!"
  7. )
  8. pause
复制代码
发表于 2023-9-1 10:55:56 | 显示全部楼层
回复 5# Five66


    使用两个 setlocal enabledelayedexpansion 是有什么特殊的考虑吗?
发表于 2023-9-1 15:49:58 | 显示全部楼层
回复 8# Batcher


    啊,失误了,原本想看看setlocal能否嵌套加上去后,忘记去掉就发出来了
 楼主| 发表于 2023-9-1 22:17:34 | 显示全部楼层
回复 3# hlzj88


    感谢有用
 楼主| 发表于 2023-9-1 22:18:25 | 显示全部楼层
回复 4# 77七


    感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 14:22 , Processed in 0.013527 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表