Windows 7: trova tutti i file che sono soli in una cartella


10

Devo trovare un modo per selezionare tutti i file che sono soli nelle loro cartelle, così posso tagliarli e incollarli da qualche altra parte. Tutte le rispettive cartelle sono all'interno di una cartella principale principale. Esiste un prompt dei comandi o un trucco del comandante totale per questo?


Cosa vuoi che succeda nelle sottodirectory? Contrassegni un solo file in una directory che contiene anche una o più sottodirectory? O una singola sottodirectory in cui non ci sono altri file nel suo genitore?
AFH,

Risposte:


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%"
        )
    )
)

Questo batch cercherà all'interno delle C:\TEST 1sottocartelle e dei file di conteggio. una volta trovato un file solitario lo sposterà in C:\TEST 2. chiederà anche la sovrascrittura nel caso in cui il nome del file esista già.

Sostituisci C:\TEST 1e C:\TEST 2con i tuoi valori.

è possibile aggiungere pausealla fine del batch per leggere il conteggio dei file eco.


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
        }
    }
}

Questo dovrebbe funzionare in Powershell, sostituire src e target. Se hai gli stessi nomi di file, non verranno sovrascritti. Puoi aggiungere forza a Move-Item per farlo accadere.

Questo potrebbe probabilmente essere condensato, sono alle prime armi con PowerShell.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.