Archives For Notepad++

Ho ormai terminato di lavorare sulla nuova versione dello script USMT (te lo ricordi?), che ora integra in un solo batch tutto il necessario per migrare i dati utente su sistemi 7 e 10 (volendo anche 8, ma l’ho tenuto fuori dai giochi), presto condividerò il lavoro fatto. Nel frattempo però ti parlo di un piccolo particolare riguardante un pacchetto di installazione che ho creato utilizzando 7-Zip e un comando da prompt, utile per te o per chiunque abbia necessità di raccogliere un po’ di file sotto lo stesso tetto e distribuire un unico eseguibile per portare a termine un’installazione di un programma (per esempio).

Utilizzare 7-Zip per creare pacchetti di installazione

Quello che ho fatto io è estremamente basilare, avevo necessità di isolare solo i CAB / MSI essenziali per l’installazione del set di file ed eseguibili USMT di Microsoft (ufficiali) portati fuori dal Assessment and Deployment Kit di Windows 8.0 (parlo di questo: microsoft.com/en-eg/download/details.aspx?id=30652). Ho creato un file 7z contenente i file di cui ti ho appena parlato, e ho aggiunto un piccolo batch con all’interno la stringa per l’installazione di un MSI (msiexec /i NOMEFILEMSI).

Crea ora il tuo file d’archivio 7z, inserisci al suo interno i file che intendi distribuire (o il software che intendi installare), per questa cosa dovresti essere assolutamente autonomo e non credo tu abbia necessità di istruzioni particolari. Quello che può mancarti è ciò che accade adesso. Inserisci nella stessa cartella del file 7z i file 7zS.sfx e config.txt. Il primo lo puoi scaricare direttamente facendo clic qui, il secondo lo puoi creare tu con qualsiasi editor di test (io ti consiglio sempre Notepad++), questo è un esempio pratico:

;!@Install@!UTF-8!
Title="User State Migration Tool (WINKIT8.0)"
BeginPrompt="Do you want to install USMT 5?"
RunProgram="start.cmd"
;!@InstallEnd@!

Per tua comodità, ho caricato persino il file testuale su box (lo trovi qui). Come funziona è facile intuirlo:

  • Title: Il titolo da dare alla finestra che comparirà per richiedere se procedere con l’installazione del software.
  • BeginPrompt: il messaggio da far comparire a video per richiedere di procedere.
  • RunProgram: l’eseguibile da lanciare dopo aver scompattato il file e aver ottenuto conferma dall’utente.

Utilizzare 7-Zip per creare pacchetti di installazione 1

Creare il pacchetto

Dato che è tutto pronto, lancia un prompt dei comandi e spostati nella cartella dove hai appoggiato tutti i file necessari per creare il tuo pacchetto. La stringa che dovrai inserire è questa:

copy /b 7zS.sfx + config.txt + ARCHIVIO.7z ARCHIVIO.exe

sostituisci “ARCHIVIO.7z” con il nome del pacchetto che tu hai creato, e “ARCHIVIO.exe” con il nome che vuoi realmente dare all’eseguibile. Premi invio e attendi qualche istante affinché l’operazione termini. Dovresti ora poter vedere il tuo file eseguibile pronto per essere distribuito, file che -se aperto tramite 7-Zip- mostrerà chiaramente il suo contenuto:

Utilizzare 7-Zip per creare pacchetti di installazione 2

L’opera dovrebbe ora essere completa :-)


Credits: stackoverflow.com/questions/27904532/how-do-i-make-a-self-extract-and-running-installer

Immagine di copertina: Taduuda on Unsplash
Condividi l'articolo con i tuoi contatti:

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"!

Notepad++ LogoDove per “righe interessate” potresti volerne estrarre alcune contenenti una determinata parola, una sigla, un qualsiasi dettaglio ricercabile (anche incastrando più filtri o espressioni regolari).

Ne ho avuto bisogno per portare “informazioni pulite” fuori da un log di ingresso / uscita posta elettronica molto più complesso e sporco. Sono serviti alcuni rapidi e semplici passaggi senza l’uso (stavolta) di espressioni regolari. Basta solo giocare un attimo con funzioni già presenti e disponibili nei menu dell’applicazione.

  • Evidenzia il testo interessato e lancia la ricerca (CTRL + F), quindi spostati nella scheda “Evidenzia” (è l’ultima, nda). Seleziona qui l’opzione Imposta segnalibro sulla riga.
  • A questo punto, potrai andare nel menu Cerca, spostarti nella voce Segnalibri e scegliere l’operazione da eseguire:

Notepad++: isolare (ed estrarre) righe di testo

Il tutto va fatto in base a ciò che ti serve. Se vuoi estrarre le righe che ti interessano, ti basterà tagliarle e portarle in un file nuovo. Se invece ti interessa pulire il file originale, potrai decidere di eliminare le righe evidenziate precedentemente. Limiti? Quelli imposti da programma, o magari quelli che ti permette di orchestrare una espressione regolare (ne abbiamo già parlato in passato).

Buon lavoro! :-)

Condividi l'articolo con i tuoi contatti:

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"!

Notepad++: aggiungere testo a inizio e fine di ogni lineaHo avuto necessità di mettere mano a un file con voci duplicate, e rimuoverle per cercare di lavorare in maniera più pulita. Come al solito, ho cercato una soluzione da applicare tramite l’utilizzo di Notepad++, ottenendo ovviamente una risposta già utilizzata in passato. Un’espressione regolare, trovata in una discussione su Stack Overflow.

Senza necessità di evidenziare alcunché, ti basterà lanciare una sostituzione testo (CTRL+H), selezionando Espressione regolare, e inserendo nel campo sorgente ^(.*?)$\s+?^(?=.*^\1$), mentre dovrai lasciare vuoto il secondo campo (Sostituisci con). Appena fatto, fai clic su Sostituisci tutti ed il gioco sarà fatto.

Notepad++: rimuovere righe duplicate

Giusto per dettagliare meglio, cerco di riassumere quanto spiegato in originale:

  • ^ corrisponde all’inizio della riga.
  • (.*?) va a memorizzare progressivamente le righe trovate nel file, così da renderle disponibili in seguito per l’individuazione dei duplicati.
  • $ corrisponde al termine della riga.
  • \s+?^ questa parte corrisponde a tutti i caratteri di spaziatura (tipicamente nuove righe!) fino all’inizio della nuova riga (in pratica va a rimuovere le righe vuote che vengono lasciate dopo aver rimosso un duplicato).
  • (?=.*^\1$) è la parte di espressione regex che permette di rimuovere una riga quando questa è la stessa identica precedentemente rilevata in qualsiasi altro punto del file.

Buon lavoro! :-)

Condividi l'articolo con i tuoi contatti:

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"!

Notepad++: aggiungere testo a inizio e fine di ogni lineaLo so, ne avevo già parlato (per metà, a dirla tutta), stavolta infatti ci aggiungo anche il riferimento al testo da anteporre a qualsiasi riga voi selezioniate all’interno di un file aperto in Notepad++, si perché non c’è cosa più buona e giusta che utilizzare un editor così ricco di funzioni, per fargli svolgere del lavoro che diversamente dovreste fare voi (a manina, o tramite altra applicazione).

Scenario: molte righe, un testo da anteporre e uno da posporre su ciascuna riga. L’esercizio si porta a termine ancora una volta tramite espressioni regolari. Bisognerà semplicemente evidenziare le righe che vi serve modificare, lanciare una sostituzione testo (CTRL+H), spostarvi su un tipo di ricerca basata su Espressione regolare e inserire nel campo sorgente “^” (senza le virgolette), mentre nel campo successivo inserire il test da andare ad anteporre alle righe. Assicuratevi di aver selezionato la voce “Nella selezione” (prima di fare danni, nda), potete ora fare clic su Sostituisci tutti.

Notepad++: aggiungere testo a inizio e fine di ogni linea 1

Diversa è la formula per andare a posporre il testo a fine riga, ripetendo ancora una volta l’operazione su tutte le righe selezionate. Tutto rimane invariato tranne il campo di ricerca, al posto di “^” ci andrà un “$” (ancora una volta senza virgolette).

Notepad++: aggiungere testo a inizio e fine di ogni linea 2

Facile e immediato.

Condividi l'articolo con i tuoi contatti:

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.

Condividi l'articolo con i tuoi contatti: