标题: [文件操作] 【已解决】批处理如何根据文件夹名和文件名生成子文件夹? [打印本页]
作者: lvwenjun11 时间: 2024-9-12 10:23 标题: 【已解决】批处理如何根据文件夹名和文件名生成子文件夹?
有文件夹名为视频监控,下有多个文件240910-1111.ts、240910-12233.ts、240911-22331.ts、240911-123321.ts等
有多天的的文件,根据文件夹名 【视频监控】和读取日期【240910】、【240911】自动生成文件夹 【视频监控240910】、【视频监控240911】,并将对应文件移入该新建子文件夹
谢谢各位大佬!
作者: aloha20200628 时间: 2024-9-12 11:56
本帖最后由 aloha20200628 于 2024-9-12 12:21 编辑
回复 1# lvwenjun11
以下代码存为 test.bat 置于 ‘【视频监控】’ 目录下运行...
- @echo off &for /f "tokens=1 delims=-" %%a in ('dir /b/a-d *-*.ts') do if not exist "【视频监控%%a】" (
- md "【视频监控%%a】"
- move /y "%%a-*.ts" "【视频监控%%a】\"
- ) 2>nul
- pause&exit/b
复制代码
作者: 77七 时间: 2024-9-12 12:00
本帖最后由 77七 于 2024-9-12 12:05 编辑
- @echo off
- cd /d "%~dp0"
- (for %%d in (.) do (
- for /f "delims=" %%i in ('dir /b /a-d *.ts ^| findstr /rixc:"[0-9][0-9]*-[0-9][0-9]*\.ts"') do (
- for /f "delims=-" %%a in ("%%~ni") do (
- md "%%~nxd%%a"
- move "%%i" "%%~nxd%%a\"
- )
- )
- )) 2 > nul
- pause
复制代码
作者: lvwenjun11 时间: 2024-9-12 13:42
回复 2# aloha20200628
没反应 大佬
作者: lvwenjun11 时间: 2024-9-12 13:42
77七 发表于 2024-9-12 12:00
没反应 大佬
作者: aloha20200628 时间: 2024-9-12 14:03
本帖最后由 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】新建目录中...
请楼主确认上述是所要求的吗?
作者: qixiaobin0715 时间: 2024-9-12 14:22
本帖最后由 qixiaobin0715 于 2024-9-12 14:27 编辑
- @echo off
- for %%i in ("%cd%") do set Folder=%%~nxi
- for /f "tokens=1* delims=-" %%i in ('dir /b /a-d *-*.ts') do (
- md "%Folder%%%i" 2>nul
- move "%%i-%%j" "%Folder%%%i\"
- )
- pause
复制代码
作者: lvwenjun11 时间: 2024-9-12 15:59
本帖最后由 lvwenjun11 于 2024-9-12 16:03 编辑
回复 6# aloha20200628
作者: lvwenjun11 时间: 2024-9-12 16:03
回复 6# aloha20200628
搞错了大佬,_ 文件名是这个分隔符,我已经自行修改 谢谢大佬
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |