OS - Windows

Personalizare sistem operare 275 Solutii

Optimizare pc 51 Solutii

Optimizare PC 106 Solutii

Scanare cu malwarebyte 4 Solutii

shareuire si mapare 15 Solutii

adaugare la domeniu 5 Solutii

Migrare profil 10 Solutii

instalare printer 50 Solutii

Instalare/reinnoire certificate 2 Solutii

Configureaza si verifica setarile de boot 12 Solutii

Transfer de date 21 Solutii

Configurare OS 109 Solutii

Reparare OS 48 Solutii

Punct de restaurare OS 8 Solutii

Windows Event Viewer 6 Solutii

Reinstalare/reconfigurare VPN 8 Solutii

Depanare VPN 4 Solutii

Optimizare client e-mail 12 Solutii

Optimizare PC 31 Solutii

Optimizare PC 20 Solutii

Reinstalare / Reconfigurare VPN 6 Solutii

Reinstalare OS 32 Solutii

Reparare sistem de operare 45 Solutii

Programare sistem operare 13 Solutii

Puncte de restaurare sistem de operare 14 Solutii

Instalare imprimanta 44 Solutii

Mapare si partajare 13 Solutii

Modificari firewall 12 Solutii

Migrare profil 8 Solutii

Transferuri de date 33 Solutii

Upgrade sistem operare 12 Solutii

Windows Event Viewer 7 Solutii

Verificare HDD 32 Solutii

Spatiu partitie 31 Solutii

Scanare cu MalwareBytes 5 Solutii

Setari servicii sistem operare 43 Solutii

Setari retea sistem operare 25 Solutii

Setari partitii 19 Solutii

Actualizare sistem operare 15 Solutii

Clonare HDD 11 Solutii

Compatibilitate program 13 Solutii

Instalare / Reinnoire Certificate 6 Solutii

Configurare si verificare setari de BOOT 15 Solutii

Configurare Sistem de operare 1483 Solutii

Identificare DLL-uri lipsa 2 Solutii

Depanare 1089 Solutii

Editarea politicilor de grup ale sistemului de operare 13 Solutii

Drivere 50 Solutii

Adaugarea utilizatorilor in Shared Mailbox prin PowerShell

  1. PROBLEMA

Un utilizator existent în tenantul Microsoft 365, cu cont activ pe domeniul organizației, trebuie să primească acces la un shared mailbox. În Microsoft 365 admin center (Teams & groups > Shared mailboxes > Members) sau în Exchange admin center (Recipients > Mailboxes > Delegation), utilizatorul nu apare în lista de selecție, iar căutarea după nume sau adresă nu returnează niciun rezultat.

Soluția este acordarea permisiunilor direct din Exchange Online PowerShell, unde obiectul poate fi identificat după UPN, adresă SMTP sau GUID, fără a depinde de selectorul grafic.

[mai mult...]

Revizuirea periodica a conturilor inactive din Active Directory si dezactivarea controlata cu PowerShell

In orice domeniu Active Directory se aduna in timp conturi care nu mai sunt folosite: angajati plecati carora nu li s-a inchis contul, conturi de test, conturi create pentru colaboratori externi sau stagiari. Aceste conturi raman active, au parole care nu se mai schimba si reprezinta o poarta de intrare usor de exploatat, pentru ca nimeni nu observa daca sunt folosite de altcineva.

Standardul ISO/IEC 27001:2022 cere revizuirea periodica a drepturilor de acces (controlul A.5.18) si eliminarea accesului care nu mai este necesar. Procedura de mai jos produce un raport lunar cu conturile inactive de peste 90 de zile, il trece printr-o aprobare si apoi dezactiveaza conturile aprobate intr-un mod controlat si reversibil. Raportul si fisierul aprobat raman ca dovada de audit.

Backup

  1. Verificati daca este activat Active Directory Recycle Bin. Fara el, un cont sters ulterior nu mai poate fi recuperat cu toate atributele:
Get-ADOptionalFeature -Filter 'Name -like "Recycle Bin Feature"' | Select-Object Name, EnabledScopes

Daca EnabledScopes este gol, functia nu este activa. Activarea ei este ireversibila si se face separat, cu acordul administratorului de domeniu.

  1. Exportati starea actuala a tuturor conturilor de utilizator, inainte de orice modificare:
New-Item -ItemType Directory -Force -Path "C:\Audit\AD" | Out-Null
Get-ADUser -Filter * -Properties Enabled, Description, DistinguishedName, LastLogonTimestamp |
    Select-Object SamAccountName, Name, Enabled, Description, DistinguishedName,
        @{N='UltimaLogare';E={ if ($_.LastLogonTimestamp) { [DateTime]::FromFileTime($_.LastLogonTimestamp) } }} |
    Export-Csv "C:\Audit\AD\stare-conturi-$(Get-Date -Format yyyy-MM-dd).csv" -NoTypeInformation -Encoding UTF8
  1. Procedura se ruleaza dintr-o consola PowerShell pornita ca Administrator, pe un server sau o statie care are modulul ActiveDirectory (RSAT), cu un cont care are drept de modificare pe conturile vizate.

Pasul 1 – Pregatim grupul de exceptii si OU-ul de carantina

Unele conturi nu se logheaza interactiv niciodata, dar sunt necesare: conturi de serviciu, conturi pentru scanere sau aplicatii, conturi de urgenta (break-glass). Le punem intr-un grup dedicat, ca scriptul sa le ignore:

New-ADGroup -Name "GRP-Exceptii-Inactivitate" -GroupScope Global -GroupCategory Security `
    -Description "Conturi excluse din revizuirea conturilor inactive. Fiecare membru trebuie justificat."
Add-ADGroupMember -Identity "GRP-Exceptii-Inactivitate" -Members "svc-backup","svc-scanner"

Cream si OU-ul in care vor fi mutate conturile dezactivate (inlocuiti DC=firma,DC=local cu domeniul vostru):

New-ADOrganizationalUnit -Name "Conturi Dezactivate" -Path "DC=firma,DC=local" -ProtectedFromAccidentalDeletion $true

Important: daca domeniul este sincronizat cu Microsoft Entra ID (Entra Connect / Cloud Sync) si sincronizarea este filtrata pe OU-uri, OU-ul “Conturi Dezactivate” trebuie inclus in sincronizare. Altfel, la mutare, utilizatorul este sters din Entra ID, iar casuta lui de mail ajunge in starea soft-deleted.

Pasul 2 – Generam raportul cu conturile inactive

Salvam scriptul de mai jos ca C:\Scripts\Raport-ConturiInactive.ps1:

Import-Module ActiveDirectory

$Zile     = 90
$Prag     = (Get-Date).AddDays(-$Zile)
$Folder   = "C:\Audit\AD"
$Raport   = Join-Path $Folder "conturi-inactive-$(Get-Date -Format yyyy-MM-dd).csv"
$Sistem   = @('krbtgt','Administrator','Guest','DefaultAccount')

New-Item -ItemType Directory -Force -Path $Folder | Out-Null

$Exceptii = Get-ADGroupMember -Identity "GRP-Exceptii-Inactivitate" -Recursive |
    Select-Object -ExpandProperty SamAccountName

$Inactive = Get-ADUser -Filter 'Enabled -eq $true' `
        -Properties LastLogonTimestamp, whenCreated, PasswordLastSet, Description, ServicePrincipalName, Manager |
    Select-Object SamAccountName, Name, Description, whenCreated, PasswordLastSet, DistinguishedName,
        @{N='UltimaLogare';E={ if ($_.LastLogonTimestamp) { [DateTime]::FromFileTime($_.LastLogonTimestamp) } }},
        @{N='AreSPN';E={ [bool]$_.ServicePrincipalName }},
        @{N='Manager';E={ if ($_.Manager) { (Get-ADUser $_.Manager).Name } }} |
    Where-Object {
        ((-not $_.UltimaLogare) -or ($_.UltimaLogare -lt $Prag)) -and
        ($_.whenCreated -lt $Prag) -and
        (-not $_.AreSPN) -and
        ($_.SamAccountName -notin $Exceptii) -and
        ($_.SamAccountName -notin $Sistem)
    } |
    Sort-Object UltimaLogare

$Inactive | Export-Csv $Raport -NoTypeInformation -Encoding UTF8
Write-Host "Conturi inactive de peste $Zile zile: $($Inactive.Count). Raport: $Raport"

Ce face filtrul:

  • pastreaza doar conturile active care nu s-au logat in ultimele 90 de zile sau nu s-au logat niciodata;
  • ignora conturile create in ultimele 90 de zile (angajati noi care inca nu au inceput);
  • ignora conturile cu SPN (de regula conturi de serviciu), conturile din grupul de exceptii si conturile de sistem.

Rulam scriptul:

C:\Scripts\Raport-ConturiInactive.ps1

Pasul 3 – Revizuim si aprobam lista

Raportul nu se aplica automat. Il deschidem in Excel si il trimitem managerului fiecarui utilizator sau departamentului HR spre confirmare. Pentru fiecare cont se decide:

  • se dezactiveaza;
  • se pastreaza, cu justificare (de exemplu concediu prelungit), caz in care contul se adauga temporar in grupul de exceptii.

Liniile aprobate pentru dezactivare se salveaza intr-un fisier separat, de exemplu C:\Audit\AD\conturi-inactive-2026-10-01-aprobat.csv. Acest fisier, impreuna cu emailul de aprobare, este dovada pentru auditul ISO 27001.

Pasul 4 – Simulam dezactivarea cu -WhatIf

Inainte de modificarea reala, rulam procedura in mod simulare. PowerShell afiseaza ce ar face, fara sa schimbe nimic:

$Aprobate   = Import-Csv "C:\Audit\AD\conturi-inactive-2026-10-01-aprobat.csv"
$Carantina  = "OU=Conturi Dezactivate,DC=firma,DC=local"

foreach ($c in $Aprobate) {
    Disable-ADAccount -Identity $c.SamAccountName -WhatIf
    Move-ADObject -Identity $c.DistinguishedName -TargetPath $Carantina -WhatIf
}

Verificam ca lista afisata contine exact conturile aprobate.

Pasul 5 – Dezactivam si mutam conturile aprobate

$Aprobate   = Import-Csv "C:\Audit\AD\conturi-inactive-2026-10-01-aprobat.csv"
$Carantina  = "OU=Conturi Dezactivate,DC=firma,DC=local"
$Data       = Get-Date -Format yyyy-MM-dd
$Jurnal     = "C:\Audit\AD\jurnal-dezactivare-$Data.csv"

$Rezultat = foreach ($c in $Aprobate) {
    try {
        Disable-ADAccount -Identity $c.SamAccountName -ErrorAction Stop
        Set-ADUser -Identity $c.SamAccountName -Description "Dezactivat $Data - inactiv peste 90 zile - revizuire periodica acces" -ErrorAction Stop
        Move-ADObject -Identity $c.DistinguishedName -TargetPath $Carantina -ErrorAction Stop
        [pscustomobject]@{ Cont = $c.SamAccountName; OU_Original = $c.DistinguishedName; DescriereOriginala = $c.Description; Status = 'Dezactivat'; Data = $Data }
    }
    catch {
        [pscustomobject]@{ Cont = $c.SamAccountName; OU_Original = $c.DistinguishedName; DescriereOriginala = $c.Description; Status = "Eroare: $($_.Exception.Message)"; Data = $Data }
    }
}

$Rezultat | Export-Csv $Jurnal -NoTypeInformation -Encoding UTF8
$Rezultat | Format-Table Cont, Status -AutoSize

Jurnalul pastreaza OU-ul si descrierea originala ale fiecarui cont, necesare pentru restaurare.

Pasul 6 – Programam raportul lunar

Programam doar generarea raportului, nu si dezactivarea. Dezactivarea ramane un pas manual, facut dupa aprobare:

schtasks /Create /TN "Raport conturi AD inactive" /TR "powershell.exe -NoProfile -ExecutionPolicy Bypass -File C:\Scripts\Raport-ConturiInactive.ps1" /SC MONTHLY /D 1 /ST 08:00 /RU SYSTEM

Task-ul ruleaza in prima zi a fiecarei luni la ora 08:00 si salveaza raportul in C:\Audit\AD.

Pasul 7 – Stergerea definitiva (dupa perioada de retentie)

Conturile din “Conturi Dezactivate” se pastreaza o perioada stabilita in politica interna, de regula 30-90 de zile. Abia apoi se sterg, tot pe baza unei liste aprobate. Daca Recycle Bin este activ, un cont sters mai poate fi recuperat pe durata configurata in domeniu (implicit 180 de zile).

Impact colateral

Atributul LastLogonTimestamp se replica intre controllerele de domeniu cu o intarziere de pana la aproximativ 14 zile. De aceea pragul se tine la 90 de zile sau mai mult, nu la 15-30 de zile.

Utilizatorii care lucreaza doar in Microsoft 365 (Outlook Web, Teams, OneDrive din browser) pot aparea inactivi in AD-ul local, desi lucreaza zilnic. Inainte de aprobare, verificati in Entra ID ultima autentificare in cloud pentru conturile din raport.

Un cont dezactivat in AD si sincronizat cu Entra ID este blocat si in Microsoft 365: utilizatorul nu mai are acces la mail, Teams si OneDrive. Datele raman pastrate. Conturile folosite de aplicatii, scanere sau task-uri programate, care nu au SPN si nu sunt in grupul de exceptii, pot fi dezactivate gresit si opresc serviciul respectiv. Revizuirea din Pasul 3 exista tocmai pentru a prinde aceste cazuri.

Mutarea intr-un OU nou schimba politicile GPO aplicate contului si poate scoate contul din scopul sincronizarii cu Entra ID, daca OU-ul nu este inclus.

Plan de restaurare in caz de nefunctionare

  1. Pentru un singur cont dezactivat gresit, il reactivam si il mutam inapoi in OU-ul original, folosind jurnalul din Pasul 5:
$Jurnal = Import-Csv "C:\Audit\AD\jurnal-dezactivare-2026-10-01.csv"
$c = $Jurnal | Where-Object Cont -eq "ion.popescu"

$OU_Parinte = ($c.OU_Original -split ',', 2)[1]
Enable-ADAccount -Identity $c.Cont
if ($c.DescriereOriginala) { Set-ADUser -Identity $c.Cont -Description $c.DescriereOriginala } else { Set-ADUser -Identity $c.Cont -Clear Description }
Move-ADObject -Identity (Get-ADUser $c.Cont).DistinguishedName -TargetPath $OU_Parinte
  1. Pentru toate conturile din jurnal, rulam acelasi bloc intr-o bucla foreach ($c in $Jurnal).
  2. Daca un cont a fost deja sters si Recycle Bin este activ, il recuperam cu Get-ADObject -Filter 'SamAccountName -eq "ion.popescu"' -IncludeDeletedObjects | Restore-ADObject.
  3. Dupa restaurare, contul trebuie adaugat in grupul GRP-Exceptii-Inactivitate, daca motivul inactivitatii este justificat, ca sa nu apara din nou in raportul urmator.
[mai mult...]

Anteturile și subsolurile care nu se imprima în Windows 11

Dacă întâmpini situația în care antetul (header-ul) și subsolul (footer-ul) unui document, unei pagini web sau unui fișier PDF nu apar pe hârtie după imprimare, cauzele pot ține de setările de printare ale aplicației, de modul de scalare sau de driverul imprimantei.

Iată principalele motive pentru care se întâmplă acest lucru și cum poți remedia problema:

1. De ce nu se imprimă antetul și subsolul?

  • Setări de imprimare dezactivate: În mod implicit, browserele sau aplicațiile pot avea bifată opțiunea de a ascunde elemente suplimentare precum anteturile și subsolurile pe paginile web sau documente.

  • Folosirea casetei de dialog de sistem (System Print Dialog): O fereastră generică de printare poate omite setările avansate specifice fiecărei aplicații.

  • Scala personalizată (Custom Scaling): Modificarea dimensiunii de scalare (zoom-ul la imprimare) poate decala conținutul dincolo de marginile paginii printabile.

  • Setări greșite în suita Office: În Word, Excel sau PowerPoint, opțiunile pentru antet/subsol pot fi debifate sau nesecționate corect în panoul de printare.

  • Probleme cu vizualizatorul de PDF-uri sau driverul de imprimantă: Un driver învechit sau corupt poate bloca transmiterea corectă a elementelor de paginare.

2. Cum poți remedia această problemă?

Soluția 1: Activează opțiunea din browser (Edge sau Chrome)

Dacă prinzi o pagină web sau un document din browser:

  1. Apasă tastele Ctrl + P pentru a deschide fereastra de printare

  2. Caută opțiunea More settings (Mai multe setări)

  3. Derulează până la secțiunea Options (Opțiuni) și bifează căsuța pentru Headers and footers (Antet și subsol)

  4. Dă click pe Print.

Soluția 2: Folosește fereastra de printare specifică aplicației 

Evită pe cât posibil ferestrele de printare generice oferite de sistem și folosește-o pe cea nativă a aplicației din care prinzi (browser, editor de text, vizualizator PDF), deoarece aceasta afișează toate opțiunile de paginare.

Soluția 3: Folosește scalarea implicită

Dacă ai setat o scalare personalizată a paginii:

  1. Deschide meniul de printare (de exemplu, în browser)

  2. Mergi la More settings și caută secțiunea Scale

  3. Setează scalarea pe Actual size (Dimensiune reală) sau 100% pentru a preveni tăierea marginilor unde se află antetul/subsolul.

Soluția 4: Verifică setările în Word, Excel sau PowerPoint

  • În Microsoft Word: Mergi la fila Insert -> Header / Footer pentru a te asigura că acestea sunt adăugate în document. Înainte de printare, verifică în opțiunile de pagină ca marginile să nu fie setate prea îngust.

  • În Excel / PowerPoint: Vergi la secțiunea de printare și asigură-te că opțiunile de editare a antetului și subsolului sunt activate corect pentru paginile respective.

Soluția 5: Schimbă vizualizatorul de PDF-uri

Dacă problema apare la fișierele PDF, încearcă să deschizi documentul într-un alt program (de exemplu, comută de la Google Chrome la Microsoft Edge sau folosește Adobe Acrobat Reader) și printează de acolo.

Soluția 6: Verifică dimensiunea corectă a paginii

Asigură-te că dimensiunea fizică a hârtiei din imprimantă (ex: A4) se potrivește cu cea setată în document, altfel elemente de la margini (cum ar fi subsolul) s-ar putea să nu intre în zona de imprimare.

Soluția 7: Reinstalează driverul imprimantei

Dacă problema persistă:

  1. Deschide Device Manager (Manager dispozitive)

  2. Extinde secțiunea Print queues (Cozi de imprimare)

  3. Dă click dreapta pe imprimanta ta și selectează Uninstall device

  4. Deconectează cablul imprimantei, reconectează-l și descarcă cel mai recent driver direct de pe site-ul producătorului.

[mai mult...]

Computerul se blocheaza in timpul unei scanari antivirus

O scanare antivirus este un proces complex care necesită resurse hardware intense (utilizează la maximum procesorul, memoria RAM și dispozitivul de stocare – HDD sau SSD) pentru a citi și analiza fiecare fișier din sistem. Dacă PC-ul tău se blochează sau „îngheață” în timpul acestei operațiuni, cauza poate veni de la probleme software, conflicte de sistem sau chiar defecțiuni hardware.

Iată principalele motive pentru care se întâmplă acest lucru și cum poți remedia problema:
1. De ce se blochează computerul în timpul scanării?
• Conflict între programele antivirus: Dacă ai instalat un antivirus terț (cum ar fi Avast, AVG, McAfee) peste sau în paralel cu protecția nativă din Windows (Windows Defender), cele două soluții se pot bloca reciproc încercând să se scaneze una pe cealaltă sau aceleași fișiere în același timp.
• Erori sau uzură la nivelul discului de stocare (HDD/SSD): Dacă hard disk-ul are sectoare defecte, în momentul în care scanarea antivirus încearcă să citească acele zone corupte, sistemul se poate bloca complet.
• Fișiere de sistem corupte: Componente esențiale ale sistemului de operare deteriorate pot provoca instabilitate majoră când sunt accesate intens.
• Resurse hardware insuficiente sau supraîncălzire: Un procesor care funcționează la temperaturi prea ridicate sau lipsa memoriei RAM pot face ca sistemul să cedeze sub presiunea unei scanări complete.
• Prezența unui malware activ: Anumite programe malțioase sau rootkit-uri își ascund prezența blocând în mod intenționat procesele de securitate pentru a nu fi eliminate.

2. Cum poți remedia această problemă?

Soluția 1: Rulează scanarea în Modul Sigur (Safe Mode)
Modul sigur pornește Windows-ul doar cu driverele și serviciile esențiale, împiedicând aplicațiile terțe să interfereze cu scanarea.
1. Apasă tastele Windows + R, tastează msconfig și apasă Enter.
2. Mergi la fila Boot și bifează opțiunea Safe boot (cu setarea Minimal).
3. Dă click pe OK și repornește computerul.
4. Odată intrat în Modul Sigur, deschide programul antivirus și încearcă din nou scanarea.

Soluția 2: Verifică discul de stocare pentru erori (Comanda CHKDSK)
Dacă suspectezi că de vină este discul rigid sau SSD-ul:

1. Apasă tasta Windows, scrie cmd, dă click dreapta pe Command Prompt și alege Run as
administrator.
2. Introdu următoarea comandă și apasă Enter:
chkdsk C: /f /r
3. Dacă ești întrebat dacă dorești să programezi scanarea la următorul restart, tastează Y
(Yes) și apasă Enter, apoi repornește calculatorul.

Soluția 3: Repararea fișierelor de sistem corupte (SFC și DISM)
Dacă sistemul de operare are fișiere compromise:
1. Deschide Command Prompt ca administrator urmând pașii de la soluția anterioară.
2. Rulează mai întâi comanda pentru repararea imaginii de sistem:
DISM /Online /Cleanup-Image /RestoreHealth
3. După finalizarea acesteia, rulează scanarea de integritate:
sfc /scannow

4. Așteaptă finalizarea procesului (poate dura câteva minute), repornește PC-ul și testează
din nou.

Soluția 4: Elimină conflictele software (Dezinstalează alte antivirusuri)
Dacă folosești un antivirus comercial pe lângă cel integrat în Windows, este recomandat să îl dezinstalezi complet folosind instrumentul oficial de curățare furnizat de producătorul respectiv, lăsând sistemul să se bazeze pe o singură soluție de securitate stabilă.

Soluția 5: Optează pentru o Scanare Rapidă (Quick Scan)
Dacă o scanare completă (Full Scan) îți suprasolicită constant sistemul, încearcă să rulezi o Scanare Rapidă. Aceasta verifică doar zonele critice și fișierele de sistem uzuale, fiind mult mai blândă cu resursele calculatorului. Asigură-te, de asemenea, că în timpul scanării nu rulezi aplicații grele (jocuri, randări video sau multiple tab-uri în browser).

[mai mult...]

Script dezarhivare automata arhive multiple dintr-un folder si mutare arhive dupa dezarhivare si verificare

Urmează aceste instrucțiuni pentru a procesa toate arhivele dintr-un folder, una câte una, eliminând riscul de a pierde fișiere.

Pasul 1: Pregătirea terenului

Scriptul folosește 7-Zip pentru a citi fișierele .rar și .zip și pentru a-ți afișa procentele.Asigură-te că ai programul instalat. Dacă nu îl ai, descarcă-l gratuit de pe 7-zip.org.Lasă-l să se instaleze în calea lui standard: C:\Program Files\7-Zip.

Pasul 2: Crearea fișierului de comandă (Scriptul)

Deschide aplicația Notepad (M text) pe calculatorul tău. Copiază textul codului de aici

@echo off
setlocal enabledelayedexpansion

cd /d “%~dp0”
echo Se porneste scriptul de dezarhivare ULTRA-SIGUR…
echo =========================================================
echo.

set “7zip_path=C:\Program Files\7-Zip\7z.exe”
set “folder_siguranta=_Arhive_Procesate”

rem Verificam daca 7-Zip este instalat
if not exist “!7zip_path!” (
echo EROARE: Nu s-a gasit 7-Zip la C:\Program Files\7-Zip\7z.exe
goto final
)

rem Cream folderul de siguranta daca nu exista deja
if not exist “!folder_siguranta!” mkdir “!folder_siguranta!”

for %%F in (*.zip *.rar) do (
set “nume_arhiva=%%~nF”
set “fisier_complet=%%F”

rem Ignoram arhivele care au fost deja mutate in folderul de siguranta
if not “%%F”==”!folder_siguranta!” (
echo.
echo ———————————————————
echo [PROCESARE] Se extrage: !fisier_complet!
echo ———————————————————

if not exist “!nume_arhiva!” mkdir “!nume_arhiva!”

rem Extragere cu afisare procente (%)
“!7zip_path!” x “!fisier_complet!” -o”!nume_arhiva!” -y

if !errorlevel! equ 0 (
if exist “!nume_arhiva!” (
rem Verificam daca folderul destinatie NU este gol
dir /b /a “!nume_arhiva!” | findstr “^” >nul
if !errorlevel! equ 0 (
echo.
echo [SUCCES] Extras complet.
echo [SIGURANTA] Se muta arhiva in: !folder_siguranta!\!fisier_complet!

rem MUTARE in loc de STERGERE (Fisierele tale sunt 100% in siguranta)
move /y “!fisier_complet!” “!folder_siguranta!\” >nul
) else (
echo.
echo [ATENTIE] Folderul !nume_arhiva! este gol. Arhiva NU a fost mutata.
)
)
) else (
echo.
echo [EROARE] Extractia a esuat. Arhiva ramane pe loc.
)
)
)

:final
echo.
echo =========================================================
echo GATA! Toate arhivele au fost mutate in folderul: !folder_siguranta!
pause

și lipește-l în Notepad.

Mergi în meniul de sus la

File ➡️ Save As… (Salvare ca). La secțiunea Encoding (jos, lângă butonul de salvare), schimbă din UTF-8 în ANSI (foarte important pentru a preveni erorile).

La Save as type, selectează All Files (.). Pune-i numele dezarhivare_sigura.bat și apasă Save.

Pasul 3:Rularea și ProcesareaMută fișierul proaspăt creat (dezarhivare_sigura.bat) în folderul exact unde se află toate arhivele tale .zip și .rar.

Fă dublu-clic pe fișierul dezarhivare_sigura.bat pentru a-l lansa

Ce se va întâmpla pe ecranul tău 
Faza 1: Scanarea. O fereastră neagră se va deschide. Scriptul detectează prima arhivă din listă.
Faza 2: Extragerea. Va apărea textul [PROCESARE] și vei vedea programul cum numără în timp real progresul: 0%… 25%… 70%… 100%.
Faza 3: Verificarea. În background, scriptul se asigură că noul folder cu numele arhivei a fost creat și că conține fișierele tale (nu este gol).
Faza 4: Curățenia. Dacă totul este în regulă, pe ecran apare mesajul [SUCCES] Extras complet. Se sterge DOAR arhiva: …. În acest moment, fișierul .zip sau .rar este șters definitiv pentru a-ți elibera spațiu, iar scriptul trece automat la următoarea arhivă.

Ce se întâmplă dacă o arhivă are probleme? Dacă o arhivă este coruptă, descărcată incomplet sau dă o eroare, scriptul va afișa mesajul [EROARE]. Scutul de siguranță se activează instantaneu, dezarhivarea se oprește pentru acel fișier, iar arhiva originală NU va fi ștearsă, fiind lăsată neatinsă ca să nu pierzi nicio informație.

[mai mult...]