Windows 7 - Tìm tất cả các tệp trong một thư mục


10

Tôi cần tìm cách chọn tất cả các tệp trong thư mục của chúng, vì vậy tôi có thể cắt và dán chúng ở một nơi khác. Tất cả các thư mục tương ứng nằm trong một thư mục gốc chính. Có một dấu nhắc lệnh, hoặc tổng số chỉ huy lừa cho việc này?


Bạn muốn điều gì xảy ra trên các thư mục con? Bạn có gắn cờ một tệp duy nhất trong một thư mục cũng chứa một hoặc nhiều thư mục con không? Hoặc một thư mục con duy nhất không có tệp nào khác trong tệp gốc của nó?
AFH

Câu trả lời:


5
@echo off
Setlocal EnableDelayedExpansion

SET ROOT_FOLDER=C:\TEST 1
SET TARGET_FOLDER=C:\TEST 2

FOR /D %%G IN ("%ROOT_FOLDER%"\*) do (
CD %%G
    FOR /f %%A in ('dir ^| find "File(s)"') do (
        set cnt=%%A
        Echo %%G  : !cnt!
        IF !cnt! == 1 (
            move /-y "*.*" "%TARGET_FOLDER%"
        )
    )
)

Batch này sẽ xem bên trong C:\TEST 1các thư mục con một tập tin đếm. một khi nó tìm thấy một tập tin cô đơn, nó sẽ chuyển nó đến C:\TEST 2. nó cũng sẽ yêu cầu ghi đè trong trường hợp tên tệp đã tồn tại.

Thay thế C:\TEST 1C:\TEST 2với các giá trị của riêng bạn.

bạn có thể thêm pausevào cuối đợt để đọc số tập tin được lặp lại bởi nó.


6
$src = "G:\temp"
$target = "G:\notalone"

if (Test-Path $src)
{
    $folders = Get-ChildItem $src -Recurse | ?{ $_.PSIsContainer }
    foreach($folder in $folders)
    {
        $fc = Get-ChildItem $folder.FullName | ?{!$_.PSIsContainer} | Measure-Object | Select-Object -Expand Count
        if ($fc -eq 1)
        {
            $file = Get-ChildItem $folder.FullName | ?{!$_.PSIsContainer} | Select-Object
            Write-Host "Moving " $file.FullName " to " $target
            Move-Item $file.FullName $target
        }
    }
}

Điều này sẽ hoạt động trong Powershell, thay thế src và đích. Nếu bạn có cùng tên tệp, nó sẽ không ghi đè. Bạn có thể thêm lực vào Move-Item để thực hiện điều đó.

Điều này có lẽ có thể được cô đọng, tôi là người mới với powershell.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.