bat获取文件夹文件的名字
时间: 2023-07-29 08:06:14 浏览: 55
可以使用以下的命令来获取文件夹内所有文件的文件名:
```
for /r "文件夹路径" %i in (*) do echo %~ni
```
其中,`文件夹路径`是指要获取文件名的文件夹路径,`%i`表示循环变量,`(*)`表示匹配所有文件,`%~ni`表示获取文件名(不包含扩展名)。如果你想将文件名输出到文本文件中,可以使用以下命令:
```
for /r "文件夹路径" %i in (*) do echo %~ni >> 文件名.txt
```
其中,`文件名.txt`是指要输出文件名的文本文件名,`>>`表示追加到文本文件末尾。如果你要在批处理文件中使用这些命令,需要将`%`改为`%%`,如下所示:
```
for /r "文件夹路径" %%i in (*) do echo %%~ni >> 文件名.txt
```
相关问题
bat 获取文件夹名字 用通配符过滤
### 回答1:
在使用bat脚本中,我们可以通过以下方式获取文件夹的名字并使用通配符进行过滤。
首先,我们可以使用`dir`命令来列出当前目录下的所有文件夹和文件。可以添加`/AD`参数来只显示目录,然后使用`/B`参数来只显示文件夹的名字。
接着,我们可以使用`for /D`命令来对文件夹进行遍历。这个命令会将目录的名字存储在一个变量中,我们可以根据需要对这个变量进行处理。
最后,我们可以使用通配符进行过滤。例如,如果我们只想获取以字母"A"开头的文件夹,我们可以在`for /D`命令之后添加`if`条件来判断文件夹名字是否满足条件。
下面是一个示例的代码:
```bat
@echo off
setlocal enabledelayedexpansion
for /D %%d in (*) do (
set folderName=%%d
if "!folderName:~0,1!"=="A" (
echo !folderName!
)
)
```
这个脚本会遍历当前目录下的所有文件夹,并将以字母"A"开头的文件夹名字打印出来。
希望以上回答对您有所帮助!
### 回答2:
在BAT脚本中,可以使用`for`命令来获取文件夹的名字并进行通配符过滤。具体步骤如下:
1. 使用`for /d`命令来遍历当前目录下的所有文件夹,语法为:`for /d %%G in (*) do`。
2. 将遍历到的文件夹名字存储在变量`%%G`中。
3. 使用`if`语句来判断文件夹名字是否符合通配符要求,例如可以使用`if "%%G"=="folder*"`来匹配以"folder"开头的文件夹名字。
4. 在`if`语句内部,可以对符合要求的文件夹进行相应操作,例如输出文件夹名字或执行其他操作。
下面是一个示例的BAT脚本程序:
```batch
@echo off
for /d %%G in (*) do (
if "%%G"=="folder*" (
echo %%G
)
)
```
以上脚本会遍历当前目录下的所有文件夹,如果文件夹名字以"folder"开头,则会将文件夹名字输出到命令行窗口中。
需要注意的是,上述脚本只是一个简单的示例,可以根据实际需求进行相应的修改和扩展。另外,通配符的具体规则可以根据具体情况使用不同的通配符,如"?"代表匹配单个字符,"*"代表匹配任意个字符。
bat脚本 获取文件夹里面文件
你可以使用以下代码来获取指定文件夹里面的所有文件:
```
set folder_path=C:\Folder\Path
for %%f in ("%folder_path%\*") do (
echo %%~nxf
)
```
其中,`folder_path` 是你要获取文件的文件夹路径,`%%f` 是循环变量,`%%~nxf` 是获取文件名和扩展名的语法。你可以根据需要修改代码。