Archives For DOS

Del nome del file troppo lungo ne avevamo già parlato in passato, se ben ricordate. Un problema che però non sempre può essere risolto tramite un trucco come quello utilizzato tempo addietro, che deve necessariamente permettere di spostare quei file altrimenti intoccabili, soprattutto quando si tratta di dati aziendali.

Nome del file troppo lungo: Robocopy corre in soccorso

È successo esattamente questo. Una manciata di file persi (eliminati dall’utente, ndr) in una precisa cartella, alcuni file impossibili da recuperare dalla funzione “Versioni Precedenti” di Windows perché contenenti troppi caratteri nel loro nome o troppe cartelle una dentro l’altra prima di arrivare al termine. Se ne può uscire, ecco come.

ATTENZIONE: Da qui in poi l’articolo prende quella brutta piega del “ma di cosa stai parlando?“. Se non capite quello che state per fare fermatevi e chiedete aiuto tramite l’area commenti. Se invece siete arrivati qui tramite una ricerca perché disperati nel tentativo di risolvere il vostro problema, benvenuti, siete nel posto giusto (e avete condiviso forse la mia stessa quantità di imprecazioni).

Non è banale, in realtà l’operazione è assolutamente delicata e necessita della massima attenzione. Un primo passaggio permetterà di individuare il giusto percorso della cartella del backup “shadow” di Windows. La seconda di recuperare i file copiandoli nella giusta posizione tramite Robocopy, piccola utility gratuita che quelli del mestiere conoscono molto bene. Quest’ultimo, in barba alle limitazioni imposte dal sistema, ignora bellamente il limite di caratteri di NTFS e permette la copia o lo spostamento di file e cartelle a prescindere dalla quantità di caratteri contenuti in esse.

La giusta cartella

È tutta una questione di posizione. Robocopy è in grado di leggere anche i sassi (e fonderli sulle montagne), basta passargli i giusti parametri. Quando andiamo a fare clic con il tasto destro / Proprietà / Versioni precedenti su una qualsiasi cartella (di un fileserver, ndr), questa restituirà la possibilità di visualizzare copie antecedenti all’accaduto (se opportunamente configurata):

Nome del file troppo lungo: Robocopy corre in soccorso 1

Facendo clic su Apri in corrispondenza di una versione della stessa cartella, si supporrà che l’indirizzo della stessa sia quello in testa (nella barra URL):

Nome del file troppo lungo: Robocopy corre in soccorso 2

Niente di più errato. Provando infatti a esplorare la cartella si otterrà un errore (lanciandola ad esempio da Start / Esegui). Per ottenere la giusta posizione della cartella padre (quindi anche della figlia) basterà fare clic con il tasto destro in una parte libera della finestra appena aperta e fare clic su Proprietà:

Nome del file troppo lungo: Robocopy corre in soccorso 3

A questo punto capite voi stessi che aggiungendo a fondo path (comprensivo del @GMT-eccetera) un “\CARTELLAFIGLIA” riuscirete nell’intento di esplorare la copia di backup creata da Windows, quindi di lavorarla tramite Robocopy.

Copia dei file

Se dovete recuperare tutto il contenuto della cartella contenuto nel backup (ciò che ho dovuto fare io e che vi riporto in questo articolo) vi basterà quindi richiamare Robocopy con i giusti parametri, /E (Copy Subfolders, including Empty Subfolders) e /COPYALL (Copy ALL file info), parametri che fanno parte di un set ben più nutrito disponibile su ss64.com/nt/robocopy.html.

In pratica il comando finale sarà molto simile a questo:

Robocopy.exe \\SERVER\CARTELLAPADRE\@GMT-2015.09.08-13.00.00\CARTELLAFIGLIA \\SERVER\CARTELLAPADRE\CARTELLAFIGLIA /E /COPYALL

Per raggiungere lo scopo mi è tornato estremamente utile questo riferimento su ServerFault, pur evitando la mappatura della cartella di backup tramite unità locale: serverfault.com/questions/285997/unable-to-restore-from-shadow-copy-due-to-long-filename?answertab=votes#tab-top. Il problema è rientrato, i file sono stati recuperati e l’utente è chiaramente contento (e io pure, dopo aver sudato sette camicie).

asepsis-256Acronimo di Desktop Services Store, lo trovate quando un vostro disco esterno, una chiave USB o una unità di rete ha avuto a che fare con un sistema OS X di Apple, si tratta tipicamente di un file nascosto che viene utilizzato per memorizzare informazioni attributi di cartelle e posizioni delle icone ma non solo, è un file che ha senso di esistere solo su sistemi Apple, non certo Microsoft. Dato però che è sempre più comune scaricare file zip (o equivalenti) che ne contengono, ho pensato di buttare giù un paio di righe in batch per permettervi di cercarli sul vostro sistema e cancellarli senza troppa fatica.

Vi basterà copiare e incollare il codice seguente in un file di testo (blocco note, meglio se Notepad++) e salvare poi il lavoro in formato .bat:

@echo off
REM DS_STORE Cleaner - GSolone 2014 (ult.mod. 12112014)
REM Copiare il file all'interno della cartella (o direttamente il drive) dove verrà effettuata la scansione file per cercare ed in seguito eliminare i file DS_STORE di OS X.
del /s /q /f *.DS_STORE
del /s /q /f /a:h .DS_STORE
echo.
echo Tutti i file trovati sono stati rimossi, premere un tasto per terminare il programma.
pause > NUL

Se invece non siete esperti ma volete comunque utilizzare il cleaner vi basterà scaricare il file batch direttamente da qui: app.box.com/s/gfpdd0to8l84v47yb4go4sgkv8vldc0a.

Salvatelo nella cartella o nel drive (C:, ad esempio) che volete far analizzare e all’interno del quale volete effettuare quindi la pulizia, il batch provvederà ad esplorare ogni sottocartella eliminando i file .DS_Store notificandovi a video dove li ha trovati.

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!

Un errore che in tutta onestà non mi era mai capitato prima ma che -come al solito- si rifà ad associazioni sbagliate nel registro di sistema. La vostra macchina non riesce più ad eseguire un semplice VBScript? L’errore mostrato a video dice che non esiste alcun interprete di script per i file con estensione .vbs come in immagine?

Windows7_NessunInterpreteVBS

Salvate questo codice in un file .reg con un nome a piacere ed eseguitelo per rimettere le cose a posto:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.VBS]
@="VBSFile"
[HKEY_CLASSES_ROOT\VBSFile]
@="VBScript File"
"EditFlags"=hex:00,00,00,00
[HKEY_CLASSES_ROOT\VBSFile\Shell]
@="Edit"
[HKEY_CLASSES_ROOT\VBSFile\Shell\Edit]
@="&Edit"
[HKEY_CLASSES_ROOT\VBSFile\Shell\Edit\Command]
@="Notepad.exe %1"

[HKEY_CLASSES_ROOT\.VBE]
@="VBEFile"
[HKEY_CLASSES_ROOT\VBEFile]
@="VBScript Encoded File"
"EditFlags"=hex:00,00,00,00
[HKEY_CLASSES_ROOT\VBEFile\Shell]
@="Edit"
[HKEY_CLASSES_ROOT\VBEFile\Shell\Edit]
@="&Edit"
[HKEY_CLASSES_ROOT\VBEFile\Shell\Edit\Command]
@="Notepad.exe %1"

Oppure scaricate ed eseguite direttamente il file pronto da qui: app.box.com/s/sanu1hpmafq1ak8m187zgy8cccuf1f14 :-)2

Microsoft_Outlook_2013_logo.svg

Mi è stato chiesto di “trasformare” un’intera rubrica di Outlook in un gruppo di contatti affinché li si potesse facilmente richiamare e passare tra client. Questa è una funzione non prevista nativamente da Outlook ma c’è un modo per farlo aggirando l’ostacolo e con un paio di operazioni in più nella lista delle cose da fare.

Volendola riassumere, occorrerà esportare tutti i contatti in vCard, unirli in un solo file VCF che li contenga tutti e solo allora tramite un editor di testo recuperare gli indirizzi di posta elettronica che poi potranno essere aggiunti facilmente ad un gruppo di Outlook. Vi servirà il più classico dei Notepad++ ed il prompt dei comandi di Windows.

Spostatevi nella rubrica di Outlook e selezionate tutti i contatti, poi fate clic sul pulsante “Inoltra contatto” e quindi “Come biglietto da visita“. Attendete e non abbiate paura che qualcosa sia andato storto se non si apre subito la finestra della nuova mail, più sono i contatti selezionate e “mandati in esportazione“, più sarà il tempo impiegato da Outlook per farlo. Quando vedrete finalmente aprirsi la finestra della nuova mail noterete che all’interno del campo “allegato” ciascun contatto avrà il suo file VCF (vCard). Inviate a voi stessi la mail giusto perché così facendo avrete la possibilità di fare clic con il tasto destro su uno qualsiasi degli allegati e salvarli tutti in un solo colpo (poi buttate via la mail perché non vi servirà più a nulla).

A questo punto tramite un prompt dei comandi dovrete unire tutti i file vCard generandone uno solo tramite un semplice:

copy *.vcf nomefileunico.vcf

CopyVCF-FileUnico-01

Dove il *.vcf permette di richiamare tutti i file vCard precedentemente salvati e il “nomefileunico.vcf” sarà l’unico file generato che li conterrà tutti. È come un grande file di testo, l’operazione va sicuramente a buon fine a meno di avere un file corrotto e quel risultato potrà poi essere lavorato:

CopyVCF-FileUnico-02

A questo punto il resto delle operazioni è semplice: tasto destro sul VCF unico che avete appena creato, apritelo con Notepad++ (come già anticipato) e lanciate una ricerca di “EMAIL;PREF;INTERNET:” e fate clic su “Trova tutto nel documento corrente“, così facendo il software raccoglierà solo le stringhe contenenti l’indirizzo di posta elettronica. Copiate il contenuto della ricerca in un nuovo file di testo e tramite un CTRL + H (equivale al cerca e sostituisci) inserite come testo da cercare “EMAIL;PREF;INTERNET:” e come testo da sostituire lasciate la riga vuota, così dando conferma andrete a cancellare ciò che c’è di inutile prima dell’indirizzo di posta elettronica. Da qui in poi vi basterà dare un’occhiata ad un mio precedente articolo che spiega come filtrare i risultati della ricerca ed eliminare quel “Line **” prima di ciò che realmente volete tenere: gioxx.org/2015/02/27/notepad-filtrare-e-pulire-i-risultati-di-una-ricerca. Così facendo il file resterà completamente pulito e popolato di soli indirizzi di posta elettronica, copiateli tutti e incollateli all’interno di un nuovo gruppo di Outlook, il gioco è fatto.

Avete Outlook 2010 e anche voi dovete esportare dei contatti per formare un gruppo? Secondo un thread nel forum di supporto ufficiale di Microsoft il trucco è compatibile anche con Outlook 2010 perché è in grado -come Outlook 2013- di fare forward dei contatti in vCard, permettendovi di seguire così passo-passo quanto riportato qui sopra.

P.S. Se fate parte di coloro che non sopportano neanche un po’ questo dover smanettare tra più programmi e passaggi consiglio un tool online che dovrebbe fare al caso vostro: emailx.discoveryvip.com.

Aggiornamento 11/2/15
Ho aggiornato l’articolo includendo le informazioni antivirus (dato che alcuni di voi mi hanno giustamente segnalato che alcuni client segnalano come potenzialmente pericoloso il file prima del suo utilizzo, trovate le info in mezzo all’articolo ;-)

Flash Player (AdobeUpdater)Nuovo giro di aggiornamenti per Adobe che non se la passa molto bene ultimamente (helpx.adobe.com/security/products/flash-player/apsb15-04.htmlhelpx.adobe.com/security/products/flash-player/apsa15-02.html). Ho quindi provveduto ad aggiornare il codice del tool e caricare online la nuova versione del Flash Player Updater. Nonostante rimanga valida la discussione del forum Adobe dove si parlava dell’argomento: forums.adobe.com/message/3967370 questa versione integra una banale modifica che le permette di essere -fino a un’eventuale prossima modifica di Adobe- valida per tutti i prossimi aggiornamenti di Flash:

wget http://fpdownload.macromedia.com/pub/flashplayer/latest/help/install_flash_player_ax.exe
wget http://fpdownload.macromedia.com/pub/flashplayer/latest/help/install_flash_player.exe
start "Installazione Flash Player ActiveX" /wait install_flash_player_ax.exe -install
start "Installazione Flash Player Plugin" /wait install_flash_player.exe -install
del /S /Q install_flash_player_ax.exe
del /S /Q install_flash_player.exe

Lo stesso codice è disponibile come al solito nel Wiki all’indirizzo public.gfsolone.com/wiki/doku.php?id=batch:flashupdater. Il batch fa parte di un pacchetto eseguibile unico che contiene al suo interno anche il wget.exe. Lanciandolo come amministratore farà tutto automaticamente assicurandosi di forzare la chiusura di eventuali browser rimasti aperti (il controllo viene effettuato per Internet Explorer, Firefox, Opera e Chrome).

Protezione da malware

Come promesso integro le informazioni sulla scansione antivirus del file, trovate il rapporto su VirusTotal all’URL virustotal.com/it/file/4c4933665a96805943aba5f4c660fed571516b4ffdb2c2f55489af6d8d4a7437/analysis e includo qui di seguito uno screenshot della pagina così che possa rimanere memorizzato anche se l’analisi verrà prima o poi rimossa dal sito web:

screenshot-www virustotal com 2015-02-11 10-32-40

3 motori rilevano il mio file come potenzialmente pericoloso. Il motivo è semplice: all’interno dell’eseguibile c’è il mio file batch che contiene a sua volta le stringhe per terminare i processi di Google Chrome, Mozilla Firefox, Opera e Internet Explorer, questo spesso viene preso come tentativo di attacco al sistema operativo ma si tratta in realtà di falso positivo. Scaricate tranquillamente il file e lanciatelo ignorando eventuali avvisi.

Download

Potrete scaricare il pacchetto eseguibile direttamente dall’URL:

app.box.com/s/v2bod4mgy9o53cepe0o8ltwcqb3na10c

o dal solito gfsolone.com/adobeupdater.

Buon lavoro :-)