Board logo

标题: [文件操作] 批处理重命名文件提示系统找不到指定的路径 [打印本页]

作者: tungsl    时间: 2024-4-7 15:15     标题: 批处理重命名文件提示系统找不到指定的路径

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. REM 设置文件夹路径和文件扩展名
  4. set "folder_path=%UserProfile%\AppData\Roaming\LibreOffice\4\user"
  5. set "file_extension=.xcu"
  6. REM 获取当前日期
  7. for /f "tokens=1-3 delims=-" %%a in ('date /t') do (
  8.     set "year=%%c"
  9.     set "month=%%a"
  10.     set "day=%%b"
  11. )
  12. REM 格式化日期
  13. set "current_date=!year!-!month!-!day!"
  14. REM 遍历文件夹内的文件
  15. for %%f in ("%folder_path%\*%file_extension%") do (
  16.     REM 提取文件名和扩展名
  17.     set "filename=%%~nf"
  18.     set "extension=%%~xf"
  19.     REM 构建新的文件名
  20.     set "new_filename=!current_date!_!filename!!extension!"
  21.     REM 重命名文件
  22.     ren "%%f" "!new_filename!"
  23.     echo 文件 "%%~nxf" 已重命名为 "!new_filename!"
  24. )
  25. pause
复制代码
执行提示:
系统找不到指定的路径。
文件 "registrymodifications.xcu" 已重命名为 "-2024/04/07 周日 -_registrymodifications.xcu"
请按任意键继续. . .
作者: aloha20200628    时间: 2024-4-7 16:01

本帖最后由 aloha20200628 于 2024-4-7 16:06 编辑

回复 1# tungsl

代码订正如下
  1. @echo off
  2. set "folder_path=%UserProfile%\AppData\Roaming\LibreOffice\4\user\*.xcu"
  3. set "current_date=%date:/=-%"
  4. REM 遍历文件夹内的文件
  5. for /f "delims=" %%F in (' dir /b/s/a-d "%folder_path%" ') do (
  6.     REM 重命名文件
  7.     ren "%%~F" "%current_date%_%%~nxF"
  8.     echo,文件 "%%~nxF" 已重命名为 "%current_date%_%%~nxF"
  9. )
  10. pause &exit/b
复制代码

作者: ShowCode    时间: 2024-4-7 17:47

回复 1# tungsl


把你的代码第9行修改为:
  1. for /f "tokens=1-3 delims=-/ " %%a in ('date /t') do (
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2