Board logo

标题: [文本处理] [已解决]删除空格的批处理代码中%%~nxi和%%~fi的含义 [打印本页]

作者: 载体    时间: 2020-5-3 13:15     标题: [已解决]删除空格的批处理代码中%%~nxi和%%~fi的含义

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('dir /s/b *.*') do (
  3.     set "foo=%%~nxi"
  4.     set foo=!foo: =!
  5.     set foo=!foo: =!
  6.     ren "%%~fi" "!foo!"
  7. )
  8. exit
复制代码

作者: smss    时间: 2020-5-3 13:19

%%~nxi 扩展到名称含后缀
%%~fi 扩展到完整路径
用 echo显示这些来观察区别
作者: ivor    时间: 2020-5-3 14:45

同功能powershell
  1. powershell "(dir -Recurse *).ForEach({$_.MoveTo(($_.Name -replace ' ',''))})"
复制代码

作者: 载体    时间: 2020-5-3 14:50

感谢大神!
作者: Batcher    时间: 2020-5-3 21:22

回复 1# 载体


推荐阅读:批处理for命令教程
http://bbs.bathome.net/thread-31727-1-1.html

批处理for命令从入门到精通以及配套练习题
http://bbs.bathome.net/thread-2189-1-1.html
http://bbs.bathome.net/thread-2336-1-1.html




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