it-swarm-eu.dev

"Questo file proviene da un altro computer ..." - come posso sbloccare tutti i file in una cartella senza doverli sbloccare individualmente?

Windows XP SP2 e Windows Vista hanno questo accordo in cui le informazioni sulla zona vengono conservate nei file scaricati in partizioni NTFS, in modo tale da bloccare determinati file in determinate applicazioni finché non si "sbloccano" i file.

Ad esempio, se si scarica un file Zip del codice sorgente per provare qualcosa, ogni file verrà visualizzato nelle impostazioni di sicurezza delle proprietà del file

"Questo file proviene da un altro computer e potrebbe essere bloccato per proteggere il computer"

Insieme a un pulsante "Sblocca". Alcuni programmi non sono interessati, ma Visual Studio rifiuterà di caricare i progetti nelle soluzioni finché non saranno sbloccati.

Sebbene non sia terribilmente difficile andare su tutti i file di progetto e sbloccarlo individualmente, è un dolore. E non sembra che tu possa sbloccare più file selezionati contemporaneamente.

C'è un modo per sbloccare tutti i file in una directory senza doverli andare tutti individualmente?

So che puoi disattivarlo a livello globale per tutti i nuovi file ma diciamo che non voglio farlo

185
Tom Kidd

Se scarichi un .Zip e lo decomprimi, i singoli file saranno contrassegnati come la stessa zona del .Zip. Quasi ogni volta che ho una cartella piena di file "bloccati", questo è il modo in cui li ho ottenuti.

Prima di decomprimere, fai clic sul pulsante Sblocca su .Zip.

180
Jay Bazuzi

PowerShell, disponibile here , ha un cmdlet Unblock-File che svolgerà questa attività per te. Per sbloccare tutti i file in una directory, emetterei il seguente comando.

dir c:\mydir -Recurse | Unblock-File

Unblock-File doc

90
pk.

È abbastanza semplice, NTFS ha collegato un flusso di dati (che ha "file non sicuri") al file quando è appena scaricato da Internet.

Rimuovere ricorsivamente questo flusso per tutti i file, attenersi alla seguente procedura:

  1. Scarica l'eseguibile Streams CLI di Microsoft
  2. Metti l'eseguibile streams.exe nella tua directory di Windows (o in qualsiasi posto che il sistema può trovarlo)
  3. Esegui questa riga nella riga di comando:

streams -s -d directory

Quindi rimuoverà tutti i flussi di dati da tutti i file in modo ricorsivo nella directory - ora hai sbloccato con successo tutti i file.

64
caliban

AlternateStreamView può elencare tutti i flussi NTFS alternativi per i file in una directory (e sottodirectory se lo si desidera).

Elimina tutti i flussi contrassegnati ": Zone.Identifier: $ DATA" per i file selezionati per eliminare i blocchi di sicurezza.

enter image description here

31
Snark

Una soluzione molto semplice per questo tipo si lega alla prima risposta, diciamo che se hai circa 1000 file che sono tutti bloccati prendi tutti i file e li metti in una nuova cartella sul desktop (o in qualunque directory di cartelle stai lavorando fare clic con il pulsante destro del mouse sulla cartella e quindi fare clic su Invia a e quindi fuori dalle opzioni Fare clic su Cartella compressa (zippata), quindi eliminare i file originali ed estrarre la cartella .Zip e Viola !!! Tutti i file sono sbloccati: D, funzionato per me su XP Pro SP3, supponendo che funzionerà anche su Vista

11
Kristian

Per disabilitare il blocco quando i file vengono scaricati, apri la seguente chiave di registro:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments\SaveZoneInformation

Cambia SaveZoneInformation su 1.

NOTA:

  • 0 = Non configurato
  • 1 = abilitato
  • 2 = disabilitato
9
user61000

Come un altro poster ha detto che il flag del file non sicuro è memorizzato in un flusso di dati NTFS. Ciò significa che c'è un modo molto semplice per rimuovere questo flusso di dati, basta spostare il file su un'unità che non supporta flussi di dati NTFS.

Supponendo che il tuo problema sia più legato al numero di file, piuttosto che alla loro dimensione, il modo più semplice per farlo potrebbe essere spostare (non copiare) i file su un'unità FAT formattata, quindi spostarli torna al drive NTFS (quasi tutte le chiavette USB sono formattate come FAT32, quindi lo farà in modo carino), e quindi sposta quei file indietro dove vuoi.

L'ho già fatto quando volevo togliere il flag bloccato da un'intera directory di file scaricati e ha fatto esattamente ciò di cui avevo bisogno.

8
GAThrawn
  • Scarica il Sysinternals Streams utility.
  • Decomprimere e copiare streams.exe in\Windows\System32.
  • Crea un nuovo file di testo e rinominalo in qualcosa come "unblocker.reg".
  • Copia lo script di registro seguente in esso:

    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOT\*\Shell\unblockfile]
    @="Unblock file"
    
    [HKEY_CLASSES_ROOT\*\Shell\unblockfile\command]
    @="cmd /c streams -d \"%1\""
    
    [HKEY_CLASSES_ROOT\Directory\Shell\unblockallthefiles]
    @="Unblock the files inside"
    
    [HKEY_CLASSES_ROOT\Directory\Shell\unblockallthefiles\command]
    @="cmd /c streams.exe -d -s \"%1\""
    
  • Salva il file.

  • Fare doppio clic sul file salvato per unirlo nel registro.

Dopodiché, quando fai clic con il pulsante destro del mouse su un file, puoi selezionare "Sblocca file" nel menu di scelta rapida oppure puoi fare clic con il pulsante destro del mouse su una cartella e selezionare "Sblocca i file qui".

fonte

7
creapure90

AlternateStreamView è fantastico. Un altro metodo è archiviare i file su .RAR, 7z o .Zip. Eliminare gli originali e quindi ri-estrarre i file.

5
Alec

Ho avuto lo stesso problema e il modo in cui ho sbloccato i file era:

  • Ho aggiunto tutti i file bloccati a un archivio RAR (ho usato WinRAR)
  • Ho rimosso i file originali
  • Ho estratto tutti i file dall'archivio

Tutti i file sono ora sbloccati.

Per me sono stati alcuni problemi di MSDN Magazine che erano in formato .chm, ma non penso che il tipo di file sia importante.

2
leoinfo

ZoneIDTrimmer sembra lo strumento più user-friendly disponibile per questo:

enter image description here

1
RomanSt

Stavo cercando un metodo batch (senza usare PowerShell) e dopo aver letto questo post ho trovato questa soluzione semplice

echo. > .\filename.Zip:Zone.Identifier

questo non rimuoverà il flusso di dati Zone.Identifier ma cancellerà il suo contenuto che sembra funzionare correttamente.

Un'altra soluzione (che cancellerà tutti i flussi di dati e userà un file temporaneo è questa)

type filename.Zip > filename.Zip.tmp
move /y filename.Zip.tmp filename.Zip
1

Ho un disco rigido esterno USB che funziona benissimo per rimuovere i blocchi ... Ho creato una piccola partizione e formattato in FAT32..quando voglio rimuovere il blocco da qualcosa, lo sposto semplicemente su quell'unità e poi lo sposto indietro :-)

0
user200075