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

[文件操作] 【已解决】请教大家一个批处理,如何分割文件夹名称和内部文件名

本帖最后由 lhw 于 2023-12-30 22:24 编辑

就是有时候要个不同的人发同样的东西,但是需要标清这个文件是谁给谁的,所以想请问大佬批处理能不能达到以下操作,
比如我有一个文件夹是后勤部小王-财务部小李-电力部小张-人事部小小-公关部老张这样的文件夹,里面文档是后勤部小王-财务部小李-电力部小张-人事部小小-公关部老张.txt,,小王是我自己,想通过批处理达到,后勤部小王-财务部小李是一个文件夹,里面的文档是后勤部小王-财务部小李.txt,其他人的名字也是按照这样分割出来。
有没有大佬能说一下该怎么操作
1

评分人数

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

大佬,给个思路也行

TOP

本帖最后由 77七 于 2023-12-25 23:42 编辑
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "tokens=1* delims=-" %%d in ('dir /b /ad *-*-*') do (
  4. call :1 "%%e"
  5. )
  6. pause & exit
  7. :1
  8. for /f "tokens=1* delims=-" %%x in ("%~1") do (
  9. md "%%d-%%x"
  10. copy "%%d-%%e\%%d-%%e.txt" "%%d-%%x\%%d-%%x.txt"
  11. if "%%y" neq "" (
  12. call :1 "%%y"
  13. ) else (
  14. exit /b
  15. )
  16. )
复制代码


批处理会处理所在目录下所有的 *-*-* 格式文件夹,使用前先测试
1

评分人数

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

TOP

本帖最后由 qixiaobin0715 于 2023-12-26 10:50 编辑

回复 1# lhw
你的表述在逻辑上不清楚,可有多种理解。最好在网盘上发一个示范文件夹,原目录是什么样的,处理后的目录又是什么样子。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1* delims=" %%i in ('dir /b /ad') do (
  4.     if not "%%j"=="" (
  5.         set "str=%%j"
  6.         set "str=!str:-= !"
  7.         for %%k in (!str!) do (
  8.             if not exist "%%i-%%j\%%i-%%k"(
  9.                 md "%%i-%%j\%%i-%%k"
  10.                 copy "%%i-%%j\%%i-%%j.txt" "%%i-%%j\%%i-%%k\%%i-%%k.txt"
  11.             )
  12.         )
  13.     )
  14. )
复制代码
1

评分人数

TOP

本帖最后由 jefflo 于 2023-12-26 14:43 编辑

回复 4# qixiaobin0715


绑定,回错了

TOP

回复 1# lhw


请给一个真实的例子说明一下你的需求吧,比如操作之前是怎样的,操作之后变成啥样?
上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

谢谢大家的帮助,我的问题解决了

TOP

返回列表