Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-11-2013, 08:56   #1
Albiz849
Junior Member
 
Iscritto dal: Oct 2013
Messaggi: 26
[POWERSHELL] Problema annidamento

Ciao!
Ho creato il seguente script per spostare cartelle vuote
Codice:
$Move=@() 
$Et1="0"
$Et2="9"
$Today = Get-Date -Format "dd-MMM"
$Folder= "C:\Estinto\$Today\EmptyFolders"
$Search= "C:\Test"

if(!(Test-Path $Folder)){
    New-Item -Path $Folder -ItemType directory
}

Get-ChildItem $Search -Recurse | 
Where-Object {(Get-ChildItem -Path $_.FullName) -eq $null -and $_.PSISContainer} | 
foreach($_){ 
    $Sav=Split-Path($_) -leaf 
    if($Sav.StartsWith($Et1) -or $Sav.StartsWith($Et2)){}
    else{
        $Mem=$_
        $Move=$Move+$Mem.fullname 
        $Divide=$Mem.Parent.fullname -split('')
        $Impera=""
        foreach($count in $divide){
            if($count -match ':'){
                $count="$" 
            }
            $Impera += $count
        }
        $Dest=$Folder,$impera -join('\')
        if(!(Test-Path $Dest)){
            New-Item -Path $Dest -ItemType directory
        }
        
   
        Move-Item -Path $Mem.FullName -Destination $Dest -force 
    }
}
Proprietà delle cartelle, al momento, è che non devono cominciare con 0 e 9... se volessi aumentare il numero di eccezioni e scrivere tutte le eccezioni in un array come posso procedere?
Se facessi un foreach($i in $etc){if($Sav.StartsWith($i))........}non avrebbe senso poiché cambierebbe completamente la logica del programma...
Magari un while(...){if($Sav.StartsWith(...))....} potrebbe rendere meglio l'idea...
Al momento aggiungo un paio di eccezioni in maniere bruta(if(A -or B -or C -or D){}) ma spero di poter giungere a una scrittura migliore... :-)
Grazie
A
Albiz849 è offline   Rispondi citando il messaggio o parte di esso
Old 29-11-2013, 11:47   #2
Albiz849
Junior Member
 
Iscritto dal: Oct 2013
Messaggi: 26
Tentando di darmi delle risposte per quanto scritto sopra mi sono imbattuto in questo get-help about_break
Codice:
$var = "parola2"
        switch -regex ($var) 
        {
            "parola2" 
            {
                Write-Host "Esatto" $_ 
                break
            } 

            "parola.*" 
            { 
                Write-Host "Corrispondenza con prefisso" $_ 
                break
            }

            "p.*"
            {
                Write-Host "Corrispondenza almeno con la prima 
                lettera" $_ break 
            }
            
            default
            {
                Write-Host "Nessuna corrispondenza" $_
                break
            }
        }
Che ne pensate? mi sembra possa adattarsi in qualche modo o sbaglio?
Albiz849 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
Lava a 75°, è un 21.000Pa con...
iPhone 18 Pro: il componente che garanti...
DeepL alza il livello: con Voice-to-Voic...
Apple sta utilizzando sempre più ...
Il MacBook Neo vende tanto? Microsoft le...
AST SpaceMobile BlueBird 7: Blue Origin ...
È il momento migliore per comprar...
Svendita MacBook Pro: c'è il mode...
Oggi questa TV TCL QLED da 43 pollici co...
Il caricatore multiplo da 200W che va be...
Top 7 Amazon, il meglio del meglio di qu...
Spento lo strumento LECP della sonda spa...
Voyager Technologies ha siglato un accor...
GoPro annuncia la linea MISSION 1 con tr...
Alcune varianti dei futuri Samsung Galax...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 06:54.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v