[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
/s要去掉,这是包含子目录并且输出是完整路径。
  1. dir/a-d/b/og "%~1">"%~dp0outfile.txt"
复制代码
如无特别说明,代码测试环境均为 XP SP3

TOP

  1. (for /f "delims=" %%a in ('dir/a-d/b/s/og "%~1"')do @echo %%~nxa)>"%~dp0outfile.txt"
复制代码
如无特别说明,代码测试环境均为 XP SP3

TOP

回复 10# 2013koko三方工具可从论坛下载:sed.exe

开始会错意,现在搞清了!
  1. dir/a-d/b/s/og "%~1">"%~dp0%~n1_filelist.txt"
  2. set "dirstr=%~1\"
  3. sed -i "s/^%dirstr:\=\\%//" "%~dp0%~n1_filelist.txt"
复制代码
如无特别说明,代码测试环境均为 XP SP3

TOP

回复 15# 2013koko

我试了已经可以了。
sed.exe放在批处理同目录,搜索下载:http://www.bathome.net/s/tool/index.html
1

评分人数

如无特别说明,代码测试环境均为 XP SP3

TOP

本帖最后由 cutebe 于 2021-5-7 15:44 编辑

不用三方会稍微复杂点。
  1. @echo off
  2. setlocal enableDelayedExpansion
  3. set "str=%~1"
  4. set dn=1
  5. :snlp
  6. if "!str:*\=!" neq "" (
  7. set/a dn+=1
  8. set "str=!str:*\=!"
  9. if "!str:*\=!" neq "!str!" goto :snlp
  10. )
  11. setlocal disableDelayedExpansion
  12. (for /f "tokens=%dn%* delims=\" %%q in ('dir/a-d/b/s/og "%~1"')do echo %%r)>"%~dp0%~nx1_filelist.txt"
复制代码
1

评分人数

如无特别说明,代码测试环境均为 XP SP3

TOP

返回列表