用 批处理(bat)如何实现读取文件名?

wxylvmnn 2012-09-05 10:40:06
文件夹c:\csv\下有
abc1234.csv
abc2321.csv
a1234.csv 等文件。

想实现的
1,取出c:\csv\下所有是abc开头的文件名。即,能取得
abc1234.csv
abc2321.csv

2,取得abc开头的文件名中 .csv 的后四位,存入到一个数组里。即,能取得
1234
2321

3,循环这个数组,把数组的每个值都打印出来即,在dos窗口中打印出来
1234
2321

请高手指点哈。

...全文
233 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Gloveing 2012-09-06
  • 打赏
  • 举报
回复
我以上是直接把bat文件放到了csv目录下,你如果要放到别处,可以这样:
for /f %%i in ('dir /b abc*')
-》
for /f %%i in ('dir /b c:\csv\abc*')
Gloveing 2012-09-06
  • 打赏
  • 举报
回复
@echo off

setlocal enabledelayedexpansion

echo ---------------------------------------------

echo 1.取出所有是abc开头的文件名
for /f %%i in ('dir /b abc*') do (echo %%i)

echo ---------------------------------------------


echo 2,取得abc开头的文件名中 .csv 的后四位,存入到一个数组里,每

个值都打印出来

for /f %%i in ('dir /b abc*') do (set p=%%i & echo !p:~-9,4! )

echo ---------------------------------------------

pause
Gloveing 2012-09-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
echo !p:~-9,4!

这句话是什么意思呢?
[/Quote]
搜索:
“批处理 延迟变量”
“批处理 字符串截取”
没有数组
wxylvmnn 2012-09-06
  • 打赏
  • 举报
回复
batch没有数组?
wxylvmnn 2012-09-06
  • 打赏
  • 举报
回复
echo !p:~-9,4!

这句话是什么意思呢?

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧