标题: [文件操作] 【已解决】请教大家一个批处理,如何分割文件夹名称和内部文件名 [打印本页]
作者: lhw 时间: 2023-12-25 22:20 标题: 【已解决】请教大家一个批处理,如何分割文件夹名称和内部文件名
本帖最后由 lhw 于 2023-12-30 22:24 编辑
就是有时候要个不同的人发同样的东西,但是需要标清这个文件是谁给谁的,所以想请问大佬批处理能不能达到以下操作,
比如我有一个文件夹是后勤部小王-财务部小李-电力部小张-人事部小小-公关部老张这样的文件夹,里面文档是后勤部小王-财务部小李-电力部小张-人事部小小-公关部老张.txt,,小王是我自己,想通过批处理达到,后勤部小王-财务部小李是一个文件夹,里面的文档是后勤部小王-财务部小李.txt,其他人的名字也是按照这样分割出来。
有没有大佬能说一下该怎么操作
作者: lhw 时间: 2023-12-25 22:38
大佬,给个思路也行
作者: 77七 时间: 2023-12-25 23:39
本帖最后由 77七 于 2023-12-25 23:42 编辑
- @echo off
- cd /d "%~dp0"
- for /f "tokens=1* delims=-" %%d in ('dir /b /ad *-*-*') do (
- call :1 "%%e"
- )
- pause & exit
-
- :1
- for /f "tokens=1* delims=-" %%x in ("%~1") do (
- md "%%d-%%x"
- copy "%%d-%%e\%%d-%%e.txt" "%%d-%%x\%%d-%%x.txt"
- if "%%y" neq "" (
- call :1 "%%y"
- ) else (
- exit /b
- )
- )
复制代码
批处理会处理所在目录下所有的 *-*-* 格式文件夹,使用前先测试
作者: qixiaobin0715 时间: 2023-12-26 10:27
本帖最后由 qixiaobin0715 于 2023-12-26 10:50 编辑
回复 1# lhw
你的表述在逻辑上不清楚,可有多种理解。最好在网盘上发一个示范文件夹,原目录是什么样的,处理后的目录又是什么样子。- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=1* delims=" %%i in ('dir /b /ad') do (
- if not "%%j"=="" (
- set "str=%%j"
- set "str=!str:-= !"
- for %%k in (!str!) do (
- if not exist "%%i-%%j\%%i-%%k"(
- md "%%i-%%j\%%i-%%k"
- copy "%%i-%%j\%%i-%%j.txt" "%%i-%%j\%%i-%%k\%%i-%%k.txt"
- )
- )
- )
- )
复制代码
作者: jefflo 时间: 2023-12-26 14:42
本帖最后由 jefflo 于 2023-12-26 14:43 编辑
回复 4# qixiaobin0715
绑定,回错了
作者: Batcher 时间: 2023-12-26 20:50
回复 1# lhw
请给一个真实的例子说明一下你的需求吧,比如操作之前是怎样的,操作之后变成啥样?
上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
作者: lhw 时间: 2023-12-30 22:25
谢谢大家的帮助,我的问题解决了
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |