批处理之家's Archiver

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

[b]回复 [url=http://www.bathome.net/redirect.php?goto=findpost&pid=255917&ptid=62800]1#[/url] [i]nzdb[/i] [/b]
重命名文件。

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

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

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.