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

[文件操作] [已解决]BAT命令 for /f in 怎样处理带空格的文件名

  1. @echo off & setlocal enabledelayedexpansion & chcp 65001
  2. set i=1
  3. for /f "delims=^" %%a in (3 哈哈哈.srt) do (
  4. set /a j=!i! %% 3
  5. if !j!==0 echo %%a >> 哈哈哈.txt
  6. set /a i+=1
  7. )
  8. pause
复制代码
测试报错 The system cannot find the file 3

如果加上双引号 in ("3 哈哈哈.srt") 的话,%%a 就是字符串 "3 哈哈哈.srt",不是这个 srt 文件每一行的内容

请教如何处理才能读取每一行的内容?

那就in ('type "%%a"')试试
1

评分人数

TOP

回复 2# qixiaobin0715


    谢谢啊!可以了哈哈

TOP

文件名中有特殊字符的,请用增强型句式
for /f "usebackq" %%i in ("文件名") do (……)
或者像2楼,换个写法。
1

评分人数

    • gwinkle: 学到了,感谢!一直只知道 delims 和 token ...技术 + 1

TOP

返回列表