Board logo

标题: [文件操作] 批处理如何截取指定文件路径? [打印本页]

作者: bataid    时间: 2020-2-2 00:26     标题: 批处理如何截取指定文件路径?

使用for遍历指定目录后得到全路径

如D:\a\b\c\d.txt D:\a\b\c\d\e\e.txt

需要得到b\之后的字符(路径)即 c\d.txt     c\d\e.txt等等

请问如何截取得到

因为需要改变文件夹路径如改成 D:\a\f\c\d.txt  (将b文件夹改f)


已经解决了 大家不用回复了
作者: went    时间: 2020-2-2 09:35

遍历的文件夹是D:
还是D:\a\b
作者: bataid    时间: 2020-2-2 10:16

回复 2# went


    嗯 遍历D:\a\b 不好意思没说清楚
作者: bataid    时间: 2020-2-2 10:17

刚在论坛看到老大的一个帖子利用 for /f 在研究
作者: went    时间: 2020-2-2 10:41

本帖最后由 went 于 2020-2-2 10:44 编辑

回复 3# bataid
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /s /b') do (
  4. set "path=%%i"
  5. set "path=!path:%~dp0=!"
  6. echo !path!
  7. )
  8. pause
复制代码
路径不能有特殊字符,放到要遍历的文件夹下运行
作者: bataid    时间: 2020-2-2 11:07

回复 5# went


    好的 谢谢了 我已经找到了方法 
作者: bataid    时间: 2020-2-2 11:08

另外  之前说的大佬的帖子我发一下
http://www.bathome.net/viewthread.php?tid=54601&extra=page%3D2%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D7
作者: 野原幸之助    时间: 2020-2-2 12:37

http://www.bathome.net/viewthrea ... %26amp%3Btypeid%3D7
作者: CrLf    时间: 2020-2-2 14:37

只是遍历文件的话,以*.txt为例,可以这样:
  1. findstr /sm .* *.txt
复制代码
记住要SM哟
作者: bataid    时间: 2020-2-2 16:12

回复 9# CrLf


    不是为了遍历 是为了执行语句 需要新旧路径 看了大佬的帖子启发已经处理好了 




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