本帖最后由 hfgjgx 于 2023-11-5 10:33 编辑
执行- [code]@echo off
- for /f "delims=" %%i in ('dir /b /ad "C:\Users"') do (
- echo "%%~i"
- )
复制代码 正确显示了C:\Users下的文件夹名
但一旦用了其他形式的变量扩展,无论是什么形式,echo输出的都是批处理所在的文件路径
例如- @echo off
- for /f "delims=" %%i in ('dir /b /ad "C:\Users"') do (
- echo "%%~pi"
- )
复制代码 显示的是批处理所在的文件路径- @echo off
- for /f "delims=" %%i in ('dir /b /ad "C:\Users"') do (
- echo "%%~di"
- )
复制代码 显示的是批处理所在的盘符
怎么解决,为什么? |