none
关于文件搜索的问题 RRS feed

  • 问题

  • 今天无事在练习批处理~无意中在D盘上某些位置新建了一堆每个名字不一样,大小不一样(非0),没有扩展名的文件~相同的只有创建日期和修改日期(这个应该相同吧)............

    有什么办法可以把他们找出来??


    2013年2月13日 15:40

答案

  • 因爲 cmd 對 Unicode 和 UTF-8 支持不是那麽好, 所以對於你這個需求還可以這樣實現.

    由於系統會將文件名稱中最後一個句點後的字符串視為擴展名, 所以我們可以查找不包含句點的文件名.

    dir x: /a-d/b/s | findstr /r/i/c:"^x:\\.*\\[^.]*$" 2> nul

    還是和之前一樣, 根據實際情況替換盤符, 比如 d: 如果這個盤符沒有變的話.


    Folding@Home

    2013年2月14日 7:57

全部回复

  • 按照修改时间搜索不就行了。
     
    --
    Alexis Zhang
     
    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis
     
    推荐以 NNTP Bridge 桥接新闻组方式访问论坛以获取最佳用户体验。
     
    本帖是回复帖,原帖作者是楼上的 "飞来的风"
     
    今天无事在练习批处理~无意中在D盘上某些位置新建了一堆每个名字不一样,大小不一样(非0),没有扩展名的文件~相同的只有创建日期和修改日期(这个应该相同吧
     
     
    2013年2月13日 21:30
  • 因爲你提到文件沒有擴展名, 那麽可以嘗試通過如下命令找出

    dir x: /a-d/b/s | findstr /r/i/c:"^x:\\.*\\[a-z0-9]*$" 2> nul

    假設盤符為 x:, 方括號内為組成主文件名的字符, 請依據實際情況進行替換.


    Folding@Home

    2013年2月14日 3:33
  • 按照修改时间搜索不就行了。
     
    --
    Alexis Zhang
     
    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis
     
    推荐以 NNTP Bridge 桥接新闻组方式访问论坛以获取最佳用户体验。
     
    本帖是回复帖,原帖作者是楼上的 "飞来的风"
     
    今天无事在练习批处理~无意中在D盘上某些位置新建了一堆每个名字不一样,大小不一样(非0),没有扩展名的文件~相同的只有创建日期和修改日期(这个应该相同吧
     
     
    这个方法也不行~那个盘上面有个放游戏的几文件夹也是当天用过的~这样搜的话也会把大量游戏中修改过的东西也会搜出来
    2013年2月14日 7:00
  • 因爲你提到文件沒有擴展名, 那麽可以嘗試通過如下命令找出

    dir x: /a-d/b/s | findstr /r/i/c:"^x:\\.*\\[a-z0-9]*$" 2> nul

    假設盤符為 x:, 方括號内為組成主文件名的字符, 請依據實際情況進行替換.


    Folding@Home

    这个方法基本可以了~但是有个问题~

    没有找有中文名的~记得正则匹配中文是添加u4e00-u9fa5吧??

    2013年2月14日 7:09
  • 因爲 cmd 對 Unicode 和 UTF-8 支持不是那麽好, 所以對於你這個需求還可以這樣實現.

    由於系統會將文件名稱中最後一個句點後的字符串視為擴展名, 所以我們可以查找不包含句點的文件名.

    dir x: /a-d/b/s | findstr /r/i/c:"^x:\\.*\\[^.]*$" 2> nul

    還是和之前一樣, 根據實際情況替換盤符, 比如 d: 如果這個盤符沒有變的話.


    Folding@Home

    2013年2月14日 7:57
  • 因爲 cmd 對 Unicode 和 UTF-8 支持不是那麽好, 所以對於你這個需求還可以這樣實現.

    由於系統會將文件名稱中最後一個句點後的字符串視為擴展名, 所以我們可以查找不包含句點的文件名.

    dir x: /a-d/b/s | findstr /r/i/c:"^x:\\.*\\[^.]*$" 2> nul

    還是和之前一樣, 根據實際情況替換盤符, 比如 d: 如果這個盤符沒有變的話.


    Folding@Home

    这个方法可以~终于可以找到有中文名字的了~只自己要做点修改就OK了~
    2013年2月14日 16:44
  • 原來的命令有一個問題, 不能找出位於根目錄的文件. 需要去掉兩個斜杠

    dir x: /a-d/b/s | findstr /r/i/c:"^x:.*\\[^.]*$" 2> nul


    Folding@Home

    2013年2月15日 4:32
  • 如果希望一次對多個磁盤進行查找, 這些寫

    dir c:\ d:\ e:\ /a-d/b/s | findstr /r/i/c:"^[a-z]:.*\\[^.]*$" 2> nul


    Folding@Home

    2013年2月15日 5:42
  • 因爲 cmd 對 Unicode 和 UTF-8 支持不是那麽好, 所以對於你這個需求還可以這樣實現.

    由於系統會將文件名稱中最後一個句點後的字符串視為擴展名, 所以我們可以查找不包含句點的文件名.

    dir x: /a-d/b/s | findstr /r/i/c:"^x:\\.*\\[^.]*$" 2> nul

    還是和之前一樣, 根據實際情況替換盤符, 比如 d: 如果這個盤符沒有變的話.


    Folding@Home

    这个方法可以~终于可以找到有中文名字的了~只自己要做点修改就OK了~
    应该做哪些修改呢?请lz分享一下吧
    2013年3月15日 9:24