一键获取文件夹内所有文件的名称
获取当前文件夹下所有文件的名称并保存在一个filename.txt文件当中:
- 文件名称不包含后缀
- 按照名称升序排列
- 代码具体使用适用方式参考利用批处理脚本给当前文件夹下的所有文件按照顺序进行重命名
@echo off
setlocal enabledelayedexpansion
(for %%f in (*.*) do (
if /i not "%%~nf"=="%~n0" if /i not "%%~nf"=="filename" echo %%~nf
)) > filename.txt
升级版¶
老代码输出的文件名排序有点问题
比如 1-20 开头的文件
代码输出的文件顺序结果是
10、11、12、13、14、15、16、17、18、19、1、20、2、3、4、5、6、7、8、9
而我想要的是
1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20
下面是修改后的代码,使用方法同上:
@echo off
setlocal enabledelayedexpansion
set "script_basename=%~n0"
(for %%f in (*.*) do (
if /i not "%%~nf"=="!script_basename!" if /i not "%%~nf"=="filename" echo %%~nf
)) | powershell -Command "$Input | Sort-Object -Property @{Expression={if ($_ -match '^(\d+)') {[int]$Matches[1]} else {[int]::MaxValue}}}, @{Expression={$_}} | Set-Content -Path 'filename.txt'"