批处理获取文件名并提取当前文件夹名

2025-03-22 07:20:11
推荐回答(2个)
回答1:

假设当前文件夹为aaa,且批处理文件在当前文件夹下,生成的txt文件也放在当前文件夹下的话:
@echo off
dir/b/s>aaa.txt
pause

如果不含子文件夹内容的话,/s参数可以省略

回答2:

@Echo OffFor /f "tokens=*" %%i in ('dir /ad /b /s "%~dp0"') do (For /f "tokens=*" %%j in ('dir /a-d /b /s "%%i\*.*"') do (Ren "%%j" "%%~nxi%%~xj"Move "%%i\%%~nxi%%~xj" "D:\文件提取到此文件夹\"Rd /q "%%i"))Pause以上内容保存为批处理文件(xx.bat),和要提取文件的子文件夹放在一起即可,例如和文件夹1、文件夹2放在一起.默认保留文件后缀名,如果不保留文件后缀名请删除"%%~xj"