PDA

Visualizza Versione Completa : Richiesta script



KymyA
08-02-22, 17:08
..è da tanto che non chiedo di darmi una soluzione bella che pronta, eh!
Potrei farlo io in VB6, ma vediamo che ne pensate voi.

Mi serve un programma/programmino/script/processo/quelchecazzochevipare che analizzi una cartella in particolare e ben definita (che chiameremo, per semplicità, C:\Supercalifragilisticaespiralitosotuamammascopac oninegrielepiacepureilrumorechefaquantoentraconlap otenzadimillesoli\A\)
e che apra tutti i file con estensione *.EML alla ricerca della stringa "Mail To:". Se nella riga in questione, che termina con un CRLF, non è presente un dato indirizzo (facciamo [email protected]) lo deve sostituire con quello.
Pseudocodice:




Apri il file
Crea un nuovo file temporaneo e chiamalo "temp.tmp"
Esegui il ciclo fino alla fine del file
Prendi una riga
Togli gli spazi iniziali dalla riga
I primi 7 caratteri della stringa trasformata in maiuscolo sono "MAIL TO"?
Se SI : Sostituisci la stringa in "Mail To: [email protected]"
Se NO: Lascia la riga com'è
Scrivi la riga nel file temp.tmp
Fine del ciclo
Chiudi il file
Cancella il file originale e rinomina il file "temp.tmp" come il file cancellato
Ripeti tutto per tutti i file nella cartella


Dunque, suggerimenti? QUal'è il sistema più veloce/rapido per scrivere questo robo?
Ripeto, potrei farlo in vb6...

Lux !
08-02-22, 17:29
Magari con Python? :pippotto:

shikky
08-02-22, 17:31
Avevo fatto una cosa simile quando lavoravo tu sai dove.
Bash semplice semplice.
Hint, guardati sed

KymyA
08-02-22, 18:02
Dimenticavo... girerà in ambiente Windows 2016 server.

Non conosco Pyhton... FAMMELOTU.


In pratica ho messo su uno smarthost che invia le email di servizio autenticandosi ai server Microsoft correttamente.
Questo per bypassare l'incompatibilità del Microsoft Dynamics (NAV) con Microsoft Exchange365 (!). Si, la cosa pare surreale ma è così ed è documentata.
Il problema è che in alcune "funzioni" del CRM vengono utilizzate come FROM l'indirizzo email dell'utente mandando a puttane l'autenticazione (il campo From dev'essere identico all'utente che si logga ad Exchange365)
Infatti come cambio a mano il file .EML eccola che ...SFIUUUUU.... viene recapitata.
Che storia eh!

Lux !
08-02-22, 18:10
https://towardsdatascience.com/python-bites-manipulating-text-files-511d1257d399
https://www.journaldev.com/23763/python-remove-spaces-from-string
https://www.tutorialspoint.com/python/string_startswith.htm

KymyA
08-02-22, 18:27
Non voglio sembrare irriconoscente ma...
...dovrei studiare python per uno scriptino del menga?
Capisco che è sempre utile conoscere pyhton anche perché è molto utilizzato, ma farei prima a trovare un PIRLA che mi mette giù lo script no?

Dunque... c'è qualche PIRL...ehm...BRAVO GIOVINE BELLO ED INTELLIGENTE capace di farmelotu?

Walter Texas Ranger
08-02-22, 19:40
prova col basic del commodore 64

shikky
08-02-22, 19:58
Ti faccio la carità in privato va

Para Noir
08-02-22, 20:05
Pensa che su Mac potresti usare Shortcuts o Automator di default a sistema..

shikky
08-02-22, 20:26
Pensa che su Mac potresti usare Shortcuts o Automator di default a sistema..Su Linux invece bastava una riga, una fottuta riga.

Para Noir
08-02-22, 20:42
Quella fottuta riga

KymyA
09-02-22, 09:53
Modifica allo script:
Se la riga From: non contiene l'indirizzo [email protected] nel nuovo file va inserita la riga "From: [email protected]" e "Reply-To:" con l'indirizzo trovato nel file originale.

Non vedo ancora arrivare nulla di pronto.
Ragazzi, mi state deludendo eh...

- - - Aggiornato - - -


prova col basic del commodore 64

Potrei farlo anche in ASM, con il C64...

KymyA
09-02-22, 10:47
Dunque...me lo sono fatto in Vb6 come comando.
inserito nel task scheduler, ogni 10minuti viene evocato un file batch che passa in rassegna tutti i file *.EML presenti in una cartella e li elabora.
Potete chiudere.

Mi siete stati inutili, se non dannosi, come al solito.
A MMERDEHH!!!

Salutava Sempre
09-02-22, 15:45
drop database
format c:

solved!

shikky
10-02-22, 00:16
Dunque...me lo sono fatto in Vb6 come comando.
inserito nel task scheduler, ogni 10minuti viene evocato un file batch che passa in rassegna tutti i file *.EML presenti in una cartella e li elabora.
Potete chiudere.

Mi siete stati inutili, se non dannosi, come al solito.
A MMERDEHH!!!Io l'indizio per come farlo te l'ho dato, anzi in privato ti ho scritto proprio come farlo, ma sei troppo kymya per capirlo.

Windows merda!

KymyA
10-02-22, 12:19
Io l'indizio per come farlo te l'ho dato, anzi in privato ti ho scritto proprio come farlo, ma sei troppo kymya per capirlo.

Windows merda!

l'ho capito ma l'indizio, come lo chiami tu, mi serve un cazzo. Io avrei voluto che qualcuno mi desse LA SOLUZIONE PRONTA più velocemente del tempo che ci sarebbe voluto affinché l'avessi fatta io.
SOno stato più veloce, come al solito.
Sukatemi la mia merdah, programmatorilli sistemistilli di sto cazzo ricamato

Sul WINDOWS MERDA sono però d'accordo.

shikky
10-02-22, 12:42
l'ho capito ma l'indizio, come lo chiami tu, mi serve un cazzo. Io avrei voluto che qualcuno mi desse LA SOLUZIONE PRONTA più velocemente del tempo che ci sarebbe voluto affinché l'avessi fatta io.
SOno stato più veloce, come al solito.
Sukatemi la mia merdah, programmatorilli sistemistilli di sto cazzo ricamato

Sul WINDOWS MERDA sono però d'accordo.La soluzione pronta te l'ho scritta in privato, ricchione.

KymyA
10-02-22, 12:57
La soluzione pronta te l'ho scritta in privato, ricchione.

Abbiamo un concetto diverso sulla questione "SOLUZIONE PRONTA". E pure sulla parola "RICCHIONE".

Brambo
10-02-22, 12:58
HJai fatto con vb6 :chebotta: powershell era una soluzione leggermente migliore, certo ti saresti dovuto googlare praticamente qualsiasi comando :fag:

shikky
10-02-22, 13:54
HJai fatto con vb6 :chebotta: powershell era una soluzione leggermente migliore, certo ti saresti dovuto googlare praticamente qualsiasi comando :fag:Credi che con vb6 non abbia googlato?
Non intendo per programmare in vb6, Intendo per scrivere "vb6".
L'unica cosa elettronica che gli farei gestire è l'euroconvertitore che mandó Berlusconi.

KymyA
10-02-22, 14:45
Credi che con vb6 non abbia googlato?
Non intendo per programmare in vb6, Intendo per scrivere "vb6".
L'unica cosa elettronica che gli farei gestire è l'euroconvertitore che mandó Berlusconi.

ammerdah!
:D

come ti ho creato così ti distruggo eh!