[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] 这几行批处理代码是什么意思,没弄清楚

我曾问过一个问题,是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

回复 1# nzdb
重命名文件。

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

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

TOP

返回列表