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

[文件操作] 【已解决】求助:批处理文件夹名添加后缀

[复制链接]
发表于 2024-12-19 21:32:18 | 显示全部楼层 |阅读模式
本帖最后由 lj670 于 2024-12-23 00:25 编辑

bat批处理当前文件夹下根据88.txt文本内容,每行随机乱序给子文件夹名添加后缀(没有孙文件夹),每行文本只添加一个子文件夹不重复添加(文本内容可能有空行),如8行文本就只添加8个子文件夹后缀,子文件夹名例如:20 (1),20 (6),22 (2)等等,文件夹名有空格。
文本内容例如:春天的风,夏天的小鱼,秋天的果实,等等。添加后子文件夹名为:20 (1)夏天的小鱼,20 (6)春天的风,22 (2)秋天的果实。。等等   求助各位大佬,谢谢!
发表于 2024-12-20 08:26:58 | 显示全部楼层
88.txt的行数要小于等于子文件夹数:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /ad') do set _!random!=%%i
  4. set _>temp
  5. (for /f "delims=" %%i in (88.txt) do (
  6.     set /p str=
  7.     for /f "tokens=1* delims==" %%a in ("!str!") do ren "%%b" "%%b%%i"
  8. ))<temp
  9. del temp
  10. pause
复制代码
代码未经测试,请备份好源文件。

评分

参与人数 1技术 +1 收起 理由
lj670 + 1 感谢分享

查看全部评分

发表于 2024-12-20 11:33:37 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-12-20 11:37 编辑

回复 1# lj670

逐行读取 88.txt 实值数据 xxx,随机且不重复抽取当前目录下的某个子目录,对其更名为 ‘子目录名xxx’,管控实值xxx数量溢出子目录数量的实况...

  1. @echo off &setlocal enabledelayedexpansion
  2. dir /b/ad|findstr /n ".*">"_._" &for /f %%n in ('find /c /v ""^<"_._" ') do (set "n=%%n")
  3. for /f "delims=" %%x in (88.txt) do set/a "k+=1" & if !k! gtr !n! (goto :end) else (
  4.    set/a "r=1+!random!%%!n!" &(call :xxx)
  5.    for /f "tokens=1* delims=:" %%a in ('findstr /bc:"!r!:" "_._" ') do (ren "%%b" "%%~nb%%x%%~xb")
  6. )
  7. :end
  8. del /q "_._" &pause&exit/b
  9. :xxx
  10.    if defined _!r! (set/a "r=1+!random!%%!n!" &goto :xxx)
  11.    set "_!r!=1" &exit/b
复制代码

评分

参与人数 1技术 +1 收起 理由
lj670 + 1 感谢分享

查看全部评分

 楼主| 发表于 2024-12-23 00:23:30 | 显示全部楼层
回复 2# qixiaobin0715

脚本运行正常,非常好,谢谢!
 楼主| 发表于 2024-12-23 00:24:59 | 显示全部楼层
回复 3# aloha20200628


    脚本运行正常,达到预期效果,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 15:44 , Processed in 0.013446 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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