本帖最后由 GNGW 于 2024-3-7 14:30 编辑
- @echo off
- setlocal enabledelayedexpansion
-
- for /f "skip=1 tokens=1,2" %%d in ('wmic logicaldisk get deviceid^, drivetype') do (
- if "%%e"=="3" (
- rem 过滤出固定驱动器(忽略A:和B:这样的软盘或光驱)
- if /i not "%%d"=="A:" if /i not "%%d"=="B:" (
- echo 正在遍历驱动器: %%d
- for /r "%%d\" %%i in (*.xlsx) do (
- echo xxxxxxxxxxxxxxxxxxx
- pause
- set "oldname=%%i"
- set "newname=%%~dpi%%~ni.xls"
- move "!oldname!" "!newname!"
- echo "文件扩展名已更改: !oldname! -> !newname!"
- )
- )
- )
- )
- endlocal
- echo 所有文件扩展名更改完成
- pause
复制代码 代码如上,第二个for循环进不去xxxxxxxxxxxxxxxxxxx 行打印不了 后面的pause也无法暂停,%%d和%%e这两个参数都没问题,都能正常打印,我猜可能for 循环的“%%d\” 这个位置出了问题,或者是什么for循环语法规范的问题。 |