![Board logo](images/default/logo.gif)
标题: [文件操作] 求助批处理批量重命名(文件名前面+上级目录) [打印本页]
作者: huangkun2008 时间: 2024-5-16 18:17 标题: 求助批处理批量重命名(文件名前面+上级目录)
比如:一级目录:2025
二级目录:202501、202502、202503
目录下面分别有(目录下面的文件名是相同的)
文件1.xlsx
文件2.xlsx
文件3.xlsx
文件4.xlsx
现在效果是需要文件1+上级目录名称
比如:文件1202501.xlsx、文件2202501.xlsx、文件3202501.xlsx、文件4202501.xlsx(找了一个命令,现在的问题是扩展名位置不对,现在效果是文件1.xlsx202501),请教高手如何调整- @echo off
- cd /d "%~dp0"
- for /r /d %%a in (*) do (
- pushd "%%a"
- set "DEST="
- for /d %%b in (*) do set DEST=OK
- if not defined DEST (
- for /f "delims=" %%c in ("%%a\..") do (
- for /f "delims=" %%i in ('dir /a-d /b *.*') do (
- ren "%%i" "%%~na_%%~nxi"
- echo "%%i" --^>^> "%%~na_%%~nxi"
- )
- )
- )
- popd
- )
- pause
复制代码
作者: aloha20200628 时间: 2024-5-16 20:29
本帖最后由 aloha20200628 于 2024-5-16 20:31 编辑
回复 1# huangkun2008
以下代码存为test.bat,置于一级目录中运行...
- @echo off
- for /d %%d in (*) do (
- pushd "%%d"
- for /f "delims=" %%F in ('dir /b/a-d "*.xlsx" ') do (ren "%%~F" "%%~nF%%~nd%%~xF")
- popd
- )
- pause&exit/b
复制代码
作者: huangkun2008 时间: 2024-5-16 21:16
回复 2# aloha20200628
谢谢
作者: qixiaobin0715 时间: 2024-5-17 09:52
- @echo off
- for /f "delims=" %%i in ('dir /s /b /a-d *.xls') do (
- for %%j in ("%%~dpi\.") do (
- ren "%%i" "%%~ni%%~nxj%%~xi"
- )
- )
- pause
复制代码
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |