bat怎么获取文件夹内文件名称,以及子文件夹内文件名称? bat批量修改文件夹名称
- BAT如何获取文件名及所属的文件夹名
- 【高手来】批处理获取文件夹名称及数量,当前文件数量,子文件夹名称,子文件夹内的文件数量
- 批处理bat 获得指定目录内的文件夹名称
- 求一个批处理程序,获取当前目录所有文件夹及子文件夹下内的文件数量,并将数量添加到文件夹名字后面
BAT如何获取文件名及所属的文件夹名
展开全部
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /s/b *.txt') do (
set Dir=%%~dpi
call:GetDirName "!Dir:~,-1!"
set a=%%~ni
)
pause
exit
:GetDirName
set b=%~nx1
【高手来】批处理获取文件夹名称及数量,当前文件数量,子文件夹名称,子文件夹内的文件数量
1
2
@echooff
for/r/d%%i in(*) dofor/f%%j in('dir/b/a-d"%%i") doecho%%i %%j
批处理bat 获得指定目录内的文件夹名称
1、在电脑中新建一个文本文档,双击打开该文档。

2、在页面中输入:@Echo off dir /b>test.txt,在off位置开始切换到第二行。

3、选择文本文档的“文件”选项点击“另存为”,将新建文档改名为“复制文件名称.bat”。

4、即可生成批处理文件,并将其拖入需要提取文件名的文件夹中。

5、双击打开批处理程序,在文件夹中就会出现一个“test”的TXT文档。

6、打开后即可看到页面中已经将文件夹的名称提取出来了。

求一个批处理程序,获取当前目录所有文件夹及子文件夹下内的文件数量,并将数量添加到文件夹名字后面
@echo off
set @=q&set/an=0x53b7e0b4
title Any question +%@%%@% %n%
rem 使用前先确保里面的文件夹和文件都已关闭
set "父文件夹=D:\test\A"
if not exist "%父文件夹%" (echo;path error or not exist&pause&exit)
powershell ^
$c=0;^
dir -liter '%父文件夹%' -r^|?{$_ -is [System.IO.DirectoryInfo]}^|sort {$_.FullName.Length} -des^|%%{^
$n=0;$m=0;^
$file=@(dir -liter $_.FullName^|?{$_ -is [System.IO.FileInfo]});^
$n=$file.Length;^
dir -liter $_.FullName^|?{$_ -is [System.IO.DirectoryInfo]}^|%%{^
$m+=[int]($_.Name -replace '^^.+-(\d+)$','$1');^
};^
$s=$n+$m;$c+=$s;^
$NewName=($_.Name -replace '-\d+$')+'-'+$s.toString();^
write-host ($_.FullName+' --^> '+$NewName);^
if(-not (test-path -liter ($_.Parent.FullName+'\'+$NewName))){^
ren $_.FullName $NewName -Force;^
};^
};^
$rootpath=gi ('%父文件夹%'.trimend('\'));^
$f=@(dir -liter $rootpath.FullName^|?{$_ -is [System.IO.FileInfo]});^
$c+=$f.Length;^
$NewName=($rootpath.Name -replace '-\d+$','')+'-'+$c.toString();^
if(-not (test-path -liter ($rootpath.Parent.FullName+'\'+$NewName))){^
ren $rootpath.FullName $NewName -Force;^
}
echo;Any question +%@%%@% %n%
pause