[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. for /f "delims=" %%i in ('dir /b /s /a-d *.pdf') do (echo  %%i)
复制代码
回复 1# swanseabrian

TOP

回复 1# swanseabrian

以后请不要同一问题发2个帖子,这样会占用宝贵的资源:
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /s /a-d *.pdf') do (
  3. for %%j in ("%%~dpi.") do ren "%%i" "%%~nxj%%~xi"
  4. )
  5. pause
复制代码
1

评分人数

TOP

回复 4# swanseabrian
说反了,不加delims才是默认空格分隔。

TOP

回复 4# swanseabrian
1.循环变量替换增强:循环变量替换增强无论是变量代表文件名、文件夹名还是字符串,你都可把它看成文件名,如果只取%~nI时,就会把最后的点号前的部分当成文件名,而把点号及后面的部分当成文件扩展名看待。所以这里要取%~nxI,否则就会被分割为两部分。
2.至于"%%~dpi.,后面一个点表示文件所在文件夹,两个点表示父文件夹。
1

评分人数

    • swanseabrian: 主要是第二个,第一个写的时候都写上就行了 ...技术 + 1

TOP

回复 12# swanseabrian
当然可以。但是这样就要开变量延迟;嵌套for语句可直接用,不要带参数;%%~nj——%%~nxj。这样效率要高一些。
1

评分人数

TOP

是这样的。

TOP

你想要的结果是什么?

TOP

回复 19# swanseabrian
请完整的说明你要达到的目的。

TOP

findstr 是读取文本中特定行的命令,缺少指定文本文件。

TOP

返回列表