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

[文件操作] [已解决]批处理如何根据扩展名获取不带文件名的完整路径?

本帖最后由 y169168712 于 2011-4-17 13:16 编辑

在d盘里有很多txt文件,我想得到它们不带文件名的路径,


例如有一个文件name.txt
D:\目录名\目录名\name.txt

我想得到
D:\目录名\目录名
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
一个人,征服了自己,也就征服了世界。

要过滤重复的路径么?
  1. @echo off&setlocal
  2. for /f "tokens=*" %%a in ('dir/b/s/a-d *.txt') do (
  3.      echo %%~dpa
  4. )
  5. pause
复制代码
天道酬勤

TOP

  1. @echo off
  2. for /r d: %%a in (*.txt) do echo %%~dpa
  3. pause>nul
复制代码
***共同提高***

TOP

本帖最后由 y169168712 于 2011-4-17 13:27 编辑

能过滤重复路径的就更好了
一个人,征服了自己,也就征服了世界。

TOP

4# y169168712


顶楼发帖时为何不说清楚这个需求呢?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 zm900612 于 2011-4-17 14:37 编辑
  1. @echo off
  2. for /r /d %%a in (*) do if exist "%%a\*.txt" echo %%a
  3. pause
复制代码

TOP

本帖最后由 y169168712 于 2011-4-17 14:17 编辑

5# Batcher
下次我会把问题一次性都说完的,这次是2楼的兄弟提醒了我
一个人,征服了自己,也就征服了世界。

TOP

那改进一下便可.
  1. @echo off&setlocal
  2. for /f "tokens=*" %%a in ('dir/b/s/a-d d:\*.txt') do (
  3.      if not defined "%%~dpa" (echo %%~dpa&&set ""%%~dpa"=s" >nul 2>nul)
  4. )
  5. pause
复制代码
1

评分人数

天道酬勤

TOP

返回列表