标题: [文件操作] [已解决]批处理取出目标目录中所有相关文件名称,并放在系列变量里备用 [打印本页]
作者: kevinzhy 时间: 2018-9-1 23:23 标题: [已解决]批处理取出目标目录中所有相关文件名称,并放在系列变量里备用
目的:取出目标目录中所有相关文件名称,并放在系列变量里备用
如目录中真实有:
a1.bsp
a2.bsp
a3.bsp
想将文件名称放在对应的变量里:
如:
m1=a1.bsp
m2=a2.bsp
m3=a3.bsp
前提是不知道有几个文件,不知道文件名称分别是什么,通过自动赋值变量,罗列显示,并待进一步处理备用
尝试如下:- @echo off
- color 0A
- dir /b .\csgo\maps\workshop\*.bsp > 0_map_workshop_name.txt
- echo.
- set /A n=1
- for /f %%i in (0_map_workshop_name.txt) do (
- echo %%i
- set m%n%=%%i
- echo m%n%=%mn%
- set /A n+=1
- echo n=%n%
- )
- echo.
- echo n=%n%
- echo.
- echo 按任意键退出…… & pause > nul
复制代码
显示结果类似如下:- a1.bsp
- m1=
- n=1
- a2.bsp
- m1=
- n=1
- a3.bsp
- m1=
- n=1
-
- n=3
-
- 按任意键退出……
复制代码
很困惑啊,很困惑,请各位指点迷津!!!
【已解决】答案在4楼
作者: /zhqsystem/zhq 时间: 2018-9-2 03:25
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!
作者: kevinzhy 时间: 2018-9-2 09:19
回复 2# /zhqsystem/zhq
不懂,复制运行了一遍,也没什么结果
作者: kevinzhy 时间: 2018-9-2 12:08
已解决!!!
- :: 读取文本文件每一行,并赋值系列变量
- @echo off & setlocal EnableDelayedExpansion
- color 0A
- cls
- :: mode con lines=36
- dir /b /-d .\csgo\maps\workshop\*.bsp > 0_map_workshop_name.txt
-
- :: 读取文档,赋值变量
- set j=0
- for /f "usebackq delims==. tokens=1" %%i in (0_map_workshop_name.txt) do (
- set /a j+=1
- set con!j!=%%i
- call set m!j!=%%con!j!%%
- )
- ::echo.
- ::echo j = !j!
- ::echo.
-
- :: 遍历变量,列表显示
- set n=0
- :looplist
- if !n! equ !j! goto eof
- set /a n+=1
- if !n! lss 10 (
- echo !n! !m%n%!
- ) else (
- echo !n! !m%n%!
- )
- goto looplist
-
- :eof
- echo.
- echo 按任意键退出…… & pause > nul
复制代码
作者: /zhqsystem/zhq 时间: 2018-9-2 20:03
回复 3# kevinzhy
虽然以解决,但是不得不告诉你,我没写变量延迟,常用的东西我一般不写,只写主要部分
作者: kevinzhy 时间: 2018-9-3 08:30
回复 5# /zhqsystem/zhq
衷心感谢!!!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |