[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

有文件夹名为视频监控,下有多个文件240910-1111.ts、240910-12233.ts、240911-22331.ts、240911-123321.ts等
有多天的的文件,根据文件夹名 【视频监控】和读取日期【240910】、【240911】自动生成文件夹 【视频监控240910】、【视频监控240911】,并将对应文件移入该新建子文件夹
谢谢各位大佬!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 6# aloha20200628


    搞错了大佬,_ 文件名是这个分隔符,我已经自行修改 谢谢大佬

TOP

本帖最后由 lvwenjun11 于 2024-9-12 16:03 编辑

回复 6# aloha20200628

TOP

本帖最后由 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

评分人数

TOP

本帖最后由 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】新建目录中...
请楼主确认上述是所要求的吗?

TOP

77七 发表于 2024-9-12 12:00



   
没反应 大佬

TOP

回复 2# aloha20200628

没反应 大佬

TOP

本帖最后由 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

评分人数

bat小白,请多指教!谢谢!

TOP

本帖最后由 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

评分人数

TOP

返回列表