coolair
V2EX  ›  问与答

Windows 下如何复制某个目录下指定后缀名的文件到另一个目录(保持目录结构),并覆盖已存在的文件?

  •  1
     
  •   coolair · Feb 25, 2018 · 2798 views
    This topic created in 3089 days ago, the information mentioned may be changed or developed.
    11 replies    2018-02-26 08:49:35 +08:00
    yukiww233
        1
    yukiww233  
       Feb 25, 2018
    1.目录下搜索*,按照后缀排序,删除所有非指定后缀文件
    2.覆盖目录
    3.还原回收站所有内容
    des
        2
    des  
       Feb 25, 2018 via Android
    xcopy 了解一下?
    zheng462601
        3
    zheng462601  
       Feb 25, 2018 via Android
    geelaw
        4
    geelaw  
       Feb 25, 2018
    @des 这个方法是不行的,因为 xcopy 会使用 8.3 名,导致意外多复制文件。

    先用 xcopy 建立目录结构,然后用 PowerShell 的 Get-ChildItem 配合 Resolve-Path 和 Copy-Item 来做吧,但是这样比较慢,更快的方法是自己写一个用来 walk 目录树的代码。
    xupefei
        5
    xupefei  
       Feb 25, 2018
    robocopy 就是干这个的。
    ```
    robocopy from to *.* /mir /xf *.pdb /xf *.obj
    ```
    上面这样会复制所有文件,除了*.pdb 和 *.obj 。
    /xf 排除
    /ia 包含
    /mir 强制覆盖+删除 to 里存在的、from 里不存在的文件

    https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy
    geelaw
        6
    geelaw  
       Feb 25, 2018 via iPhone
    @xupefei robocopy 也有 8.3 的问题,要做正确的长文件名过滤必须用自定义的程序。
    xml123
        7
    xml123  
       Feb 25, 2018 via Android
    powershell 了解一下
    wzxlovesy
        8
    wzxlovesy  
       Feb 25, 2018 via Android
    python 了解一下
    WhatIf
        9
    WhatIf  
       Feb 25, 2018
    很久以前一直想想写个类似小工具, 然而到现在还没动手写过。
    我的想法倒是和后缀扩展名无关, 主要是指定原目录下的文件,然后拷贝到目的目录下,且保持目录结构(不存在则主动新建)
    loading
        10
    loading  
       Feb 26, 2018 via iPhone
    fastcopy 了解一下
    ifaii
        11
    ifaii  
       Feb 26, 2018 via iPhone
    我有过这样的需求,写了 Python 脚本,我去找找
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5719 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 85ms · UTC 03:23 · PVG 11:23 · LAX 20:23 · JFK 23:23
    ♥ Do have faith in what you're doing.