标题: [其他] 请教批处理for里面set "pay=%%~nxi没值 [打印本页]
作者: yunyan100 时间: 2018-8-17 17:40 标题: 请教批处理for里面set "pay=%%~nxi没值
- cd /d %pa%
- :uac
- for %%a in ("%cd%") do echo %%a>>%dp%\st\1.txt
- dir/ad "%cd%\" >nul 2>nul&&cd..&&goto :uac
- cd /d %~dp0
- for /f "delims=" %%a in (%dp%\st\1.txt) do (
- for %%i in (%%a) do (set "pay=%%~nxi"
- echo %%i ,%pay%
- set "pay=%pay:(=%"
- set "pay=%pay:)=%"
- ren %%i %pay%))
复制代码
for嵌套,内部的for "set "pay=%%~nxi""怎么没没值?%%b都有,谢谢
作者: Batcher 时间: 2018-8-17 21:19
需要启用变量延迟扩展
http://bbs.bathome.net/thread-2899-1-1.html
作者: yunyan100 时间: 2018-8-17 21:32
需要启用变量延迟扩展
Batcher 发表于 2018-8-17 21:19
我用了变量,不能成工,在看
作者: yunyan100 时间: 2018-8-17 21:41
需要启用变量延迟扩展
Batcher 发表于 2018-8-17 21:19
我不细心,set "pay=%%~nxi"我以为set "pay=!%%~nxi!",只好
!pay!有了
作者: yunyan100 时间: 2018-8-17 22:16
本帖最后由 yunyan100 于 2018-8-17 23:01 编辑
完成版了- cd /d %pa%
- :uac
- for %%a in ("%cd%") do echo %%a>>%dp%\st\1.txt
- dir/ad "%cd%\" >nul 2>nul&&cd..&&goto :uac
- cd /d %~dp0&for /f "delims=" %%a in (%dp%\st\1.txt) do (
- setlocal enabledelayedexpansion&for %%i in (%%a) do (set "pay=%%~nxi"
- set "pay=!pay:(=!"
- set "pay=!pay:)=!"
- ren %%i "!pay!"))&del /f/s/q/a %dp%\st\1.txt&endlocal 2>nul
- set "pa=%pa:(=%"
- set "pa=%pa:)=%"
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |