用bat文件读取子文件夹名称
时间: 2023-10-14 12:03:02 浏览: 41
可以使用以下的bat文件来读取子文件夹的名称:
```bat
@echo off
setlocal enabledelayedexpansion
set "parent_folder=C:\ParentFolder"
for /d %%i in ("%parent_folder%\*") do (
set "subfolder_name=%%~nxi"
echo !subfolder_name!
)
endlocal
```
上述bat文件中的`parent_folder`变量需要修改为你想要读取子文件夹名称的父文件夹路径。在for循环中,使用`%%~nxi`来获取子文件夹的名称,并通过echo命令输出。
这段代码首先使用`setlocal enabledelayedexpansion`命令启用延迟变量扩展功能,这样可以在for循环中使用`!`符号来引用变量。然后,通过for循环遍历父文件夹中的子文件夹。每个子文件夹名称都存储在`subfolder_name`变量中,并通过echo命令输出。最后,使用`endlocal`命令结束代码块并还原环境变量。
希望这个回答对你有帮助!
相关问题
写一个读取文件夹名称的bat
可以使用以下命令行来读取文件夹名称并输出到控制台:
```
@echo off
setlocal EnableDelayedExpansion
for /d %%i in (*) do (
set "folder=%%i"
echo !folder!
)
```
将上述代码保存为 `.bat` 文件,然后将该 `.bat` 文件放到要读取文件夹名称的目录中。运行该 `.bat` 文件,它将输出该目录中所有文件夹的名称。
如何用bat在多个文件夹里面读取各自文件夹中有多少文件,并将文件夹名称和数量生成到文本文件中
您可以使用以下的命令行代码来读取多个文件夹中的文件数量并将文件夹名称和数量写入文本文件:
```
@echo off
setlocal enabledelayedexpansion
set "folderList=C:\Folder1 C:\Folder2 C:\Folder3" REM 将要读取的文件夹路径放在这里,用空格隔开
set "outputFile=C:\FileCount.txt" REM 文本文件的输出路径
(for %%d in (%folderList%) do (
set "dirName=%%~nd"
set "count=0"
for /f "delims=" %%f in ('dir /b /a-d "%%d\*" ^| find /v /c ""') do set /a count=%%f
echo %dirName%: %count%
))>"%outputFile%"
echo File count report saved to %outputFile%
```
请将 `C:\Folder1 C:\Folder2 C:\Folder3` 替换为您要读取文件数量的文件夹路径列表。执行此脚本后,它将在文本文件中生成每个文件夹的名称和文件数量。文本文件将保存在 `C:\FileCount.txt` 的路径中。