Board logo

标题: [其他] 这几行批处理代码是什么意思,没弄清楚 [打印本页]

作者: nzdb    时间: 2022-5-21 23:06     标题: 这几行批处理代码是什么意思,没弄清楚

我曾问过一个问题,是yhcfsr解答的。我只是套用了,也能运行,但不知所以然。可看我18年的贴子。最近想起来想认真学一下批处理

for /f "delims=" %%a in ('dir /a-d/s/b "%加密目录%\*.xml"') do (       这行delims=后面没参数是什么意思
        echo %%a
        echo %%~dpa
          set  "diry=%%~dpa"    驱动器和文件的路径以什么形式出现的
setlocal enabledelayedexpansion  ::启动了变量延迟

        for /f "delims=" %%b in ("!diry:~,-1!") do set "diry=%%~nb"  这一行我大概知道是什么意思,diry=%%~nb(这个意思赋值文件名), ("!diry:~,-1!") 这个意思是什么看不明白,请高手指教
        echo !diry!
下面一段重命名那行是什么意思

for /f "delims=" %%c in ('dir /a-d/s/b "%未加密目录%\!diry!\*.xml"') do (
               
                        echo "开始处理未加密"
                        echo %%c
                        rem 重命名
                        ren "%%c" "%%~nxa"    这行为什么这样写
                        rem ~nxa 的意思是不是调用了变量a的文件名,扩展名
                        echo %%~nxa
作者: 123User27    时间: 2022-5-22 09:57

回复 1# nzdb
重命名文件。

RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.

请注意,你不能为目标文件指定新的驱动器或路径。




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