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

[文件操作] 【已解决】批处理如何根据文件夹名和文件名生成子文件夹?

[复制链接]
发表于 2024-9-12 10:23:27 | 显示全部楼层 |阅读模式
有文件夹名为视频监控,下有多个文件240910-1111.ts、240910-12233.ts、240911-22331.ts、240911-123321.ts等
有多天的的文件,根据文件夹名 【视频监控】和读取日期【240910】、【240911】自动生成文件夹 【视频监控240910】、【视频监控240911】,并将对应文件移入该新建子文件夹
谢谢各位大佬!

评分

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

查看全部评分

发表于 2024-9-12 11:56:34 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-9-12 12:21 编辑

回复 1# lvwenjun11

以下代码存为 test.bat 置于 ‘【视频监控】’ 目录下运行...

  1. @echo off &for /f "tokens=1 delims=-" %%a in ('dir /b/a-d *-*.ts') do if not exist "【视频监控%%a】" (
  2.         md "【视频监控%%a】"
  3.         move /y "%%a-*.ts" "【视频监控%%a】"
  4. ) 2>nul
  5. pause&exit/b
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2024-9-12 12:00:18 | 显示全部楼层
本帖最后由 77七 于 2024-9-12 12:05 编辑
  1. @echo off
  2. cd /d "%~dp0"
  3. (for %%d in (.) do (
  4.         for /f "delims=" %%i in ('dir /b /a-d *.ts ^| findstr /rixc:"[0-9][0-9]*-[0-9][0-9]*\.ts"') do (
  5.                 for /f "delims=-" %%a in ("%%~ni") do (
  6.                         md "%%~nxd%%a"
  7.                         move "%%i" "%%~nxd%%a"
  8.                 )
  9.         )
  10. )) 2 > nul
  11. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2024-9-12 13:42:46 | 显示全部楼层
回复 2# aloha20200628

没反应 大佬
 楼主| 发表于 2024-9-12 13:42:51 | 显示全部楼层
77七 发表于 2024-9-12 12:00



   
没反应 大佬
发表于 2024-9-12 14:03:22 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-9-12 14:24 编辑

回复 4# lvwenjun11

2楼代码测试通过的假设》
在当前目录中存在目标文件 *.ts 如 240910-1111.ts、240910-12233.ts、240911-22331.ts、240911-123321.ts ... 代码运行结果会在当前目录中创建如【视频监控240910】目录,并将 240910-*.ts 如 240910-1111.ts、240910-12233.ts 等文件移入【视频监控240910】新建目录中...
请楼主确认上述是所要求的吗?
发表于 2024-9-12 14:22:06 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2024-9-12 14:27 编辑
  1. @echo off
  2. for %%i in ("%cd%") do set Folder=%%~nxi
  3. for /f "tokens=1* delims=-" %%i in ('dir /b /a-d *-*.ts') do (
  4.     md "%Folder%%%i" 2>nul
  5.     move "%%i-%%j" "%Folder%%%i"
  6. )
  7. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2024-9-12 15:59:43 | 显示全部楼层
本帖最后由 lvwenjun11 于 2024-9-12 16:03 编辑

回复 6# aloha20200628
 楼主| 发表于 2024-9-12 16:03:00 | 显示全部楼层
回复 6# aloha20200628


    搞错了大佬,_ 文件名是这个分隔符,我已经自行修改 谢谢大佬
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 19:40 , Processed in 0.020423 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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