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

[文本处理] 批处理如何从指定文件夹里查找出文件名中含有一个txt文本里第一列的内容的文本文件

以文件中txt文本文件中的第一列数据为准
例如:此文本文件是2012年6月24日的 打开里面第一列数据代表时间
文件夹中打开后第一个文本文件名为120624000154 表示2012年6月24日 0时1分54秒

以文本文件里面第一列中所有数据为准
找到文件夹中对应的文本文件
1

评分人数

回复 7# shero
把 下面 echo 替换为 copy 试呢

TOP

本帖最后由 pcl_test 于 2016-11-25 16:35 编辑

回复 10# shero

得了吧,还交流学习,我之前发的资料看了么,说说你都学了什么呀,把你学习态度表现出来呀,别被我点破就会BB
http://www.bathome.net/redirect. ... 2973&ptid=42328

TOP

回复 8# shero

伸手就算了,为什么一开始不在顶楼说清楚,浪费回答者的时间
http://www.bathome.net/forum-5-1.html顶部本版规则
放在“6”文件夹里运行
  1. set "fd=查找结果\"
  2. md "%fd%" 2>nul
  3. powershell -c "dir '无云\' *.txt|%%{$fd=$_.BaseName;gc ('无云\'+$_)|%%{$t=$_.trim() -split '[:\s]';$f=$fd+'\'+$fd.substring(2)+($t[0..2] -join '')+'.txt';if(test-path $f){$f;md ('%fd%\'+$fd) -force|out-null;cp $f ('%fd%\'+$fd)}}}"
  4. pause
复制代码

TOP

回复 6# pcl_test


    版主大大,真的非常感谢,你的程序完美筛选出了我要的数据
但是,我还想多问一句,给的范例是我从两个不同的文件夹中挑出来的对应日期的两个匹配文件,如果在原本的文件夹下是否可以批处理呢?如果不好弄得话就算了, 已经帮我省了很多时间了
1

评分人数

    • pcl_test: 能用文字说明清楚的勿发图片PB -4

TOP

回复 5# terse


    谢谢您,我试过你给的程序了,在运行框里能筛选出结果,但是我想要的是把文本筛选出来,可能是我表示得不太清楚 谢谢啦

TOP

  1. set "fd=查找结果\"
  2. md "%fd%" 2>nul
  3. powershell -c "dir *.txt|%%{$fd=$_.BaseName;gc $_|%%{$t=$_.trim() -split '[:\s]';$f=$fd+'\'+$fd.substring(2)+($t[0..2] -join '')+'.txt';if(test-path $f){$f;md ('%fd%\'+$fd) -force|out-null;cp $f ('%fd%\'+$fd)}}}"
  4. pause
复制代码

TOP

回复 4# shero
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f %%i in ('dir /b /a-d *.txt') do (
  3.     if exist %%~ni\ (
  4.        set f=%%~ni
  5.        for /f %%j in (%%i) do (
  6.            set str=%%j
  7.            set str=!f!\!f:~2!!str::=!.txt
  8.            if exist !str! echo !str!
  9.        )
  10.     )
  11. )
  12. pause
复制代码
1

评分人数

    • shero: 可以运行出来,但是没有筛选出来技术 + 1

TOP

回复 2# pcl_test


    我上传了压缩包的呀 ··· 额···可能没上传上 不好意思 我再传一个看看

TOP

  1. @echo off
  2. for /f %%i in ('type "C:\文件列表.txt"') do (
  3.     if exist "C:\测试文件夹\%%i.txt" (
  4.         echo 找到文件:"C:\测试文件夹\%%i.txt"
  5.     )
  6. )
  7. pause
复制代码

TOP

起码贴一些txt的内容出来吧,谁知道你是以什么划分列的

TOP

返回列表