Shell学习笔记(三)——获取文件夹里所有文件的文件名

本文介绍了一个使用批处理脚本在Windows环境下从指定文件夹中提取所有.raw格式文件的名字(不包含扩展名),并将这些名字保存到一个文本文件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

示例

Windows平台上获取某文件下所有图片的名字,不要文件名后缀,将文件名存入文本文件中。

D:.
1403636579763555584.raw
1403636579813555456.raw
1403636579863555584.raw
example1.bat
timestamp.txt

example1.bat内容如下

@echo off
echo start
setlocal enabledelayedexpansion
set dfolder=D:\develop\svins\TestCode\input\colorchart
set mfile=timestamp.txt
for /f %%j in ('dir /b %dfolder%\*.raw') do (
echo %%~nj>>%mfile%
)
pause

example1.bat运行后生成timestamp.txt

1403636579763555584
1403636579813555456
1403636579863555584

参考资源链接:[Linux Shell快速获取文件夹文件名脚本](https://wenku.csdn.net/doc/6412b576be7fbd1778d433ee?utm_source=wenku_answer2doc_content) 当你需要自动化地获取Linux系统中某个文件夹内的所有文件名时,编写Shell脚本是一个高效且直接的方法。首先,为了帮助你理解如何实现这一功能,我推荐查看这份资料:《Linux Shell快速获取文件夹文件名脚本》。这份资源将教你如何利用简单的命令和脚本技巧,快速完成文件名的收集和存储。 具体操作步骤如下: 1. 打开你的文本编辑器,创建一个新的Shell脚本文件。 2. 在脚本开始处,指定脚本使用的解释器,即在第一行添加 `#!/bin/bash`。 3. 定义一个变量来接收用户输入的文件夹路径。这可以通过位置参数 `$1` 实现。 4. 使用 `ls` 命令配合通配符 `*` 来获取文件夹内所有文件列表,并将结果存储在一个变量中。 5. 创建一个循环结构,遍历存储的文件列表,将每个文件名追加到一个文本文件中。 示例代码如下: ```bash #!/bin/bash # 脚本说明:自动化获取指定文件夹下所有文件名,并保存到文本文件中 # 接收用户输入的文件夹路径 path=$1 # 使用ls命令获取文件夹内所有文件名,并存储在变量中 files=$(ls -d $path/*) # 将路径中的通配符替换为空,只保留文件名部分 files=${files##*/} # 遍历文件名列表,并将每个文件名追加到文本文件中 for filename in $files do echo $filename >> filenames.txt done ``` 在上述脚本中,`ls -d $path/*` 命令会列出指定路径下的所有文件和目录的完整路径。然后,`${files##*/}` 将路径中的目录部分移除,仅留下文件名。之后,`for` 循环遍历这些文件名,并将它们追加到名为 `filenames.txt` 的文本文件中。 使用这个脚本,你可以轻松地获取文件夹中的所有文件名,并将它们保存在文本文件中,这对于自动化处理文件或管理大型目录结构非常有用。为了更深入地学习Shell脚本及其在文件管理中的应用,你可以继续探索《Linux Shell快速获取文件夹文件名脚本》提供的其他高级技巧和案例。 参考资源链接:[Linux Shell快速获取文件夹文件名脚本](https://wenku.csdn.net/doc/6412b576be7fbd1778d433ee?utm_source=wenku_answer2doc_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值