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

[文件操作] [已解决]批处理取出目标目录中所有相关文件名称,并放在系列变量里备用

[复制链接]
发表于 2018-9-1 23:23:03 | 显示全部楼层 |阅读模式
目的:取出目标目录中所有相关文件名称,并放在系列变量里备用

如目录中真实有:
a1.bsp
a2.bsp
a3.bsp
想将文件名称放在对应的变量里:
如:
m1=a1.bsp
m2=a2.bsp
m3=a3.bsp

前提是不知道有几个文件,不知道文件名称分别是什么,通过自动赋值变量,罗列显示,并待进一步处理备用

尝试如下:
  1. @echo off
  2. color 0A
  3. dir /b .\csgo\maps\workshop\*.bsp > 0_map_workshop_name.txt
  4. echo.
  5. set /A n=1
  6. for /f %%i in (0_map_workshop_name.txt) do (
  7.         echo %%i
  8.         set m%n%=%%i
  9.         echo m%n%=%mn%
  10.         set /A n+=1
  11.         echo n=%n%
  12. )
  13. echo.
  14. echo n=%n%
  15. echo.
  16. echo 按任意键退出…… & pause > nul
复制代码
显示结果类似如下:
  1. a1.bsp
  2. m1=
  3. n=1
  4. a2.bsp
  5. m1=
  6. n=1
  7. a3.bsp
  8. m1=
  9. n=1

  10. n=3

  11. 按任意键退出……
复制代码
很困惑啊,很困惑,请各位指点迷津!!!

【已解决】答案在4楼

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2018-9-2 03:25:12 | 显示全部楼层
for /f "delims=" %%i in ('dir/a-d/s/b ".\*.*"')do if /i not "%%~fi"=="%~f0" (
set "#=%%~ni"
for %%n in (q w e r t y u i o p a d f g h j k l z x c v b n m)do set "#=!#:%%n=!"
set "\m!#!=%%~nxi"
)
for /f "delims=\=" %%i in ('set \')do echo,%%i=!\%%i!
 楼主| 发表于 2018-9-2 09:19:38 | 显示全部楼层
回复 2# /zhqsystem/zhq

不懂,复制运行了一遍,也没什么结果
 楼主| 发表于 2018-9-2 12:08:17 | 显示全部楼层
已解决!!!
  1. :: 读取文本文件每一行,并赋值系列变量
  2. @echo off & setlocal EnableDelayedExpansion
  3. color 0A
  4. cls
  5. :: mode con lines=36
  6. dir /b /-d .\csgo\maps\workshop\*.bsp > 0_map_workshop_name.txt

  7. :: 读取文档,赋值变量
  8. set j=0
  9. for /f "usebackq delims==. tokens=1" %%i in (0_map_workshop_name.txt) do (
  10. set /a j+=1
  11. set con!j!=%%i
  12. call set m!j!=%%con!j!%%
  13. )
  14. ::echo.
  15. ::echo j = !j!
  16. ::echo.

  17. :: 遍历变量,列表显示
  18. set n=0
  19. :looplist
  20. if !n! equ !j! goto eof
  21. set /a n+=1
  22. if !n! lss 10 (
  23. echo     !n!    !m%n%!
  24. ) else (
  25. echo    !n!    !m%n%!
  26. )
  27. goto looplist

  28. :eof
  29. echo.
  30. echo    按任意键退出…… & pause > nul
复制代码
发表于 2018-9-2 20:03:54 | 显示全部楼层
回复 3# kevinzhy
虽然以解决,但是不得不告诉你,我没写变量延迟,常用的东西我一般不写,只写主要部分
 楼主| 发表于 2018-9-3 08:30:01 | 显示全部楼层
回复 5# /zhqsystem/zhq

衷心感谢!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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