|
|
|
|
Strumenti |
12-11-2020, 17:49 | #1 |
Messaggi: n/a
|
powershell batch replace di un testo su tanti csv
ciao a tutti
sto cercando di usare powershell in un file bat per fare una semplice cosa: powershell -Command "(gc file1.csv) -replace ',', '.' | Out-File -encoding ASCII file1.csv" ovvero prendere il file1 csv sostituire al suo interno le virgole con il punto e sovrascriverlo. funziona. ma vorrei fare l'operazione per tutti i file dentro la cartella. come se scrivessi powershell -Command "(gc *.csv) -replace ',', '.' | Out-File -encoding ASCII *.csv" comando che dice non fattibile perchè si può fare solo su un file.... grazie di ogni consiglio |
12-11-2020, 19:37 | #2 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2745
|
Codice:
powershell -Command "get-childitem . -Filter \"*.csv\" | ForEach-Object { (gc $_) -replace ',', '.' | Out-File -encoding ASCII $_ }" get-childitem . -Filter "*.csv" estrai tutti i file csv dalla cartella corrente (il punto è la cartella corrente). Poi con il pipe passi i risultati a ForEach-Object che per ogni risultato esegue il tuo comando dove $_ corrisponde al singolo file |
12-11-2020, 19:48 | #3 | |
Messaggi: n/a
|
Quote:
Ma come si impara a programmare power shell? Trovo qualche guida? Invidia sei stato perfetto Inviato dal mio M2004J19C utilizzando Tapatalk |
|
14-11-2020, 11:37 | #4 |
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2745
|
Per imparare non so cosa consigliarti perché io non ho una conoscenza molto strutturata di powershell. L'ho usato negli anni per le cose più disparate, forse c'è stato un periodo 5 anni fa in cui l'ho usato in modo più intenso ma non ho mai studiato a fondo qualche guida, mi sono limitato a cercare su google "come si fa x in powershell" dove x era qualcosa che sapevo già fare in altri linguaggi.
È un linguaggio che a dire la verità non mi piace molto usare, per la sintassi secondo me troppo ambigua, i permessi di esecuzione e la gestione delle stringhe che ancora adesso non mi è chiara e non ho mai avuto tempo e voglia di approfondire. A favore c'è da dire che è un linguaggio molto versatile perché puoi usare la libreria .NET e puoi scrivere programmi abbastanza complessi senza dover compilare nulla. |
14-11-2020, 12:06 | #5 | |
Messaggi: n/a
|
Quote:
Inviato dal mio M2004J19C utilizzando Tapatalk |
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:32.