|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Naples, provincia
Messaggi: 4566
|
Help per script o batch
Ciao a tutti
avrei bisogno di un programmino o un semplice batch che mi automatizzi una certa operazione relativa al contenuto di un file premetto che sono a digiuno di qualsiasi linguaggio di programmazione e/o di comandi avanzati per creare script o batch, e che tale cosa non mi serve per corsi o studi. Mi spiego: ho un file con questo contenuto tipo: Codice:
L 101 1 CU Z 2449028.834523083.52 184.54 CD Z 2449029.244523084.09 184.45 CD Z 2449031.914523082.27 184.34 CD Z 2449051.484523061.27 184.49 CD Z 2449050.404523060.48 184.74 CD Z 2449029.444523083.90 184.37 L 101 2 CU Z 2449028.794523083.54 184.51 CD Z 2449051.434523061.41 184.50 L 101 3 CU Z 2449051.434523061.41 184.50 L 101 4 CU Z 2449028.524523130.61 178.31 CD Z 2449034.174523128.20 178.24 CD Z 2449033.304523125.85 178.25 CD Z 2449027.544523128.00 178.20 CD Z 2449028.504523130.57 178.27 CD Z 2449033.064523125.85 178.23 - le righe relative a "L 101 1 " devono sparire - ogni codice "CU Z" e "CD Z" deve essere sostituito con CTB - ogni valore numerico di ogni riga, ad esempio: Codice:
2449028.834523083.52 184.54 Codice:
2449028.83 4523083.52 184.540
- all'inizio di ogni riga, dopo il codice CTB (ex CU Z/CD Z) deve essere inserito il corrispondente valore numerico della riga alla quale appartiene la serie di codici nell'esempio sopra abbiamo 4 serie di codici e nella prima ad esempio abbiamo 6 righe in definititiva il prodotto del file deve essere come segue, rispettando gli spazi tra i vari valori: Codice:
CTB 1 2449028.83 4523083.52 184.540 CTB 2 2449029.24 4523084.09 184.450 CTB 3 2449031.91 4523082.27 184.340 CTB 4 2449051.48 4523061.27 184.490 CTB 5 2449050.40 4523060.48 184.740 CTB 6 2449029.44 4523083.90 184.370 CTB 1 2449028.79 4523083.54 184.510 CTB 2 2449051.43 4523061.41 184.500 CTB 1 2449028.52 4523130.61 178.310 CTB 2 2449034.17 4523128.20 178.240 CTB 3 2449033.30 4523125.85 178.250 CTB 4 2449027.54 4523128.00 178.200 CTB 5 2449028.50 4523130.57 178.270 CTB 6 2449033.06 4523125.85 178.230 CTB 1 2449082.66 4523117.36 180.470 CTB 2 2449080.33 4523117.16 180.250 CTB 3 2449080.28 4523119.32 180.250 CTB 4 2449080.75 4523119.44 180.250 CTB 5 2449080.62 4523120.27 180.250 CTB 6 2449082.84 4523120.31 180.210 CTB 7 2449085.51 4523120.02 180.130 CTB 8 2449085.28 4523117.25 180.420 Grazie
__________________
Case: Lancool PC‐K62 + Scythe Kaze Master - Ali: Corsair CMPSU‐650HX - MoBo: Asus ROG Maximus VIII Ranger - CPU: i5 6600K @4,5Ghz - Dissy: Thermalright Venomous X - RAM: 2*4Gb G.Skill RipJaws V 3200@3466 - VGA: Sapphire HD5770 @955/1360 - SSD: Samsung 850EVO 250Gb - RAID 0: 2x WD Raptor 74Gb - HDD: Barracuda® 7200.11 500Gb - DVD‐RW: LG Trattative HWU Ultima modifica di TNOTB : 03-10-2008 alle 16:56. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Naples, provincia
Messaggi: 4566
|
Nessuno può aiutarmi?
__________________
Case: Lancool PC‐K62 + Scythe Kaze Master - Ali: Corsair CMPSU‐650HX - MoBo: Asus ROG Maximus VIII Ranger - CPU: i5 6600K @4,5Ghz - Dissy: Thermalright Venomous X - RAM: 2*4Gb G.Skill RipJaws V 3200@3466 - VGA: Sapphire HD5770 @955/1360 - SSD: Samsung 850EVO 250Gb - RAID 0: 2x WD Raptor 74Gb - HDD: Barracuda® 7200.11 500Gb - DVD‐RW: LG Trattative HWU |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Apr 2006
Messaggi: 22462
|
in batch no; in un qualsiasi linguaggio ad alto livello è più semplice; ha conoscenze di qualche tipo?
__________________
amd a64x2 4400+ sk939;asus a8n-sli; 2x1gb ddr400; x850 crossfire; 2 x western digital abys 320gb|| asus g1
Se striscia fulmina, se svolazza l'ammazza |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Naples, provincia
Messaggi: 4566
|
purtroppo non ho conoscenze di alcun tipo di linguaggio
__________________
Case: Lancool PC‐K62 + Scythe Kaze Master - Ali: Corsair CMPSU‐650HX - MoBo: Asus ROG Maximus VIII Ranger - CPU: i5 6600K @4,5Ghz - Dissy: Thermalright Venomous X - RAM: 2*4Gb G.Skill RipJaws V 3200@3466 - VGA: Sapphire HD5770 @955/1360 - SSD: Samsung 850EVO 250Gb - RAID 0: 2x WD Raptor 74Gb - HDD: Barracuda® 7200.11 500Gb - DVD‐RW: LG Trattative HWU |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
e possibile farlo anche da dos ( ma ci dovrai lavorare un po su)
puoi partire da questo Codice:
@echo off for /F "tokens=*" %%i IN (test.txt) do call :sp "%%i" :sp set lol=%1 echo %lol:~1,20% %lol:~21% l'ultima riga sn sottostringhe di una riga del file ( una riga viene divisa in 2 e viene aggiunto tre spazi vuoti %stringaDaDividere:~indiceInizio,indiceFIne% e ti ritorna lastringa tra i 2 indici AUGURI |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Naples, provincia
Messaggi: 4566
|
ho provato creando un batch con le tue righe ma il file non viene modificato
al prompt è visualizzata l'operazione (mi sembra di capire che vengono divise le righe dopo le due cifre dopo il punto) ma non ho output
__________________
Case: Lancool PC‐K62 + Scythe Kaze Master - Ali: Corsair CMPSU‐650HX - MoBo: Asus ROG Maximus VIII Ranger - CPU: i5 6600K @4,5Ghz - Dissy: Thermalright Venomous X - RAM: 2*4Gb G.Skill RipJaws V 3200@3466 - VGA: Sapphire HD5770 @955/1360 - SSD: Samsung 850EVO 250Gb - RAID 0: 2x WD Raptor 74Gb - HDD: Barracuda® 7200.11 500Gb - DVD‐RW: LG Trattative HWU |
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
bsta aggiungere ">> fileStampa.txt" ( che sia un file diverso da quello vecchio !!! )
Codice:
@echo off for /F "tokens=*" %%i IN (test.txt) do call :sp "%%i" >> lol.txt :sp set lol=%1 set xd=%lol:~1,20% %lol:~21% set xd=%xd:"= % echo %xd% |
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Naples, provincia
Messaggi: 4566
|
si certo, ma il file rimane il medesimo... non ci sono cambiamenti
grazie
__________________
Case: Lancool PC‐K62 + Scythe Kaze Master - Ali: Corsair CMPSU‐650HX - MoBo: Asus ROG Maximus VIII Ranger - CPU: i5 6600K @4,5Ghz - Dissy: Thermalright Venomous X - RAM: 2*4Gb G.Skill RipJaws V 3200@3466 - VGA: Sapphire HD5770 @955/1360 - SSD: Samsung 850EVO 250Gb - RAID 0: 2x WD Raptor 74Gb - HDD: Barracuda® 7200.11 500Gb - DVD‐RW: LG Trattative HWU |
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
Codice:
for /F "tokens=*" %%i IN (test.txt) do call :sp "%%i" >> lol.txt |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Naples, provincia
Messaggi: 4566
|
caxx funziona.... solo che alla fine di ogni riga mi compaiono le virgolette "
Codice:
L 101 1 " CU Z 2449028.83 4523083.52 184.54" CD Z 2449029.24 4523084.09 184.45" CD Z 2449031.91 4523082.27 184.34" CD Z 2449051.48 4523061.27 184.49" CD Z 2449050.40 4523060.48 184.74" CD Z 2449029.44 4523083.90 184.37" L 101 2 " CU Z 2449028.79 4523083.54 184.51" CD Z 2449051.43 4523061.41 184.50"
__________________
Case: Lancool PC‐K62 + Scythe Kaze Master - Ali: Corsair CMPSU‐650HX - MoBo: Asus ROG Maximus VIII Ranger - CPU: i5 6600K @4,5Ghz - Dissy: Thermalright Venomous X - RAM: 2*4Gb G.Skill RipJaws V 3200@3466 - VGA: Sapphire HD5770 @955/1360 - SSD: Samsung 850EVO 250Gb - RAID 0: 2x WD Raptor 74Gb - HDD: Barracuda® 7200.11 500Gb - DVD‐RW: LG Trattative HWU |
|
|
|
|
|
#12 |
|
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
usa il secondo script che ho postato , quello toglie le virgolette
Codice:
@echo off for /F "tokens=*" %%i IN (test.txt) do call :sp "%%i" >> lol.txt :sp set lol=%1 set xd=%lol:~1,20% %lol:~21% set xd=%xd:"= % echo %xd% |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Naples, provincia
Messaggi: 4566
|
Ok, grazie per la disponibilità
scusa se approfitto e perdona l'ignoranza, ma mi chiariresti il significato di ogni riga/comando? mica hai per caso qualche soluzione anche per le altre cose richieste? scusa ancora se approfitto e grazie
__________________
Case: Lancool PC‐K62 + Scythe Kaze Master - Ali: Corsair CMPSU‐650HX - MoBo: Asus ROG Maximus VIII Ranger - CPU: i5 6600K @4,5Ghz - Dissy: Thermalright Venomous X - RAM: 2*4Gb G.Skill RipJaws V 3200@3466 - VGA: Sapphire HD5770 @955/1360 - SSD: Samsung 850EVO 250Gb - RAID 0: 2x WD Raptor 74Gb - HDD: Barracuda® 7200.11 500Gb - DVD‐RW: LG Trattative HWU |
|
|
|
|
|
#14 |
|
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
li faccio solo operazioni su stringhe , e molto semplice ,guardati questi link x i flag , le operazioni su stringhe , il ciclo for
Codice:
@echo off for /F "tokens=*" %%i IN (test.txt) do call :sp "%%i" >> lol.txt rem itera tra le righe del file test.txt -> chiama il label :sp e appende su lol.txt l'echo ( alla fine del label ) :sp set lol=%1 set riga=%lol:~1,1% rem se la riga inizia x L nn la aggiungo al nuovo file if '%riga%' == 'L' goto skip set xd=%lol:~1,4% 1%lol:~5,16% %lol:~21% set xd=%xd:CU Z=CTB % set xd=%xd:CD Z=CTB % set xd=%xd:"= % echo %xd% :skip |
|
|
|
|
|
#15 | |
|
Senior Member
Iscritto dal: Apr 2001
Città: Naples, provincia
Messaggi: 4566
|
Quote:
buona serata
__________________
Case: Lancool PC‐K62 + Scythe Kaze Master - Ali: Corsair CMPSU‐650HX - MoBo: Asus ROG Maximus VIII Ranger - CPU: i5 6600K @4,5Ghz - Dissy: Thermalright Venomous X - RAM: 2*4Gb G.Skill RipJaws V 3200@3466 - VGA: Sapphire HD5770 @955/1360 - SSD: Samsung 850EVO 250Gb - RAID 0: 2x WD Raptor 74Gb - HDD: Barracuda® 7200.11 500Gb - DVD‐RW: LG Trattative HWU |
|
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Naples, provincia
Messaggi: 4566
|
Ho dato un'occhiata ai link... ma non ho trovato nulla che potesse contare le righe tra ogni serie ed anteporre dopo il "CTB" il progressivo della riga
__________________
Case: Lancool PC‐K62 + Scythe Kaze Master - Ali: Corsair CMPSU‐650HX - MoBo: Asus ROG Maximus VIII Ranger - CPU: i5 6600K @4,5Ghz - Dissy: Thermalright Venomous X - RAM: 2*4Gb G.Skill RipJaws V 3200@3466 - VGA: Sapphire HD5770 @955/1360 - SSD: Samsung 850EVO 250Gb - RAID 0: 2x WD Raptor 74Gb - HDD: Barracuda® 7200.11 500Gb - DVD‐RW: LG Trattative HWU |
|
|
|
|
|
#17 | |
|
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
Quote:
x contare le righe basta aggiungere un altra variabile che la incrementi ad ogni passaggio del ciclo Codice:
set /A index+=1 .... set xd=%lol:~1,4% %index%%lol:~5,16% %lol:~21% |
|
|
|
|
|
|
#18 | |
|
Senior Member
Iscritto dal: Apr 2001
Città: Naples, provincia
Messaggi: 4566
|
Quote:
Codice:
L 101 1 CU Z 2449028.834523083.52 184.54 CD Z 2449029.244523084.09 184.45 CD Z 2449031.914523082.27 184.34 CD Z 2449051.484523061.27 184.49 CD Z 2449050.404523060.48 184.74 CD Z 2449029.444523083.90 184.37 L 101 2 CU Z 2449028.794523083.54 184.51 CD Z 2449051.434523061.41 184.50 L 101 3
__________________
Case: Lancool PC‐K62 + Scythe Kaze Master - Ali: Corsair CMPSU‐650HX - MoBo: Asus ROG Maximus VIII Ranger - CPU: i5 6600K @4,5Ghz - Dissy: Thermalright Venomous X - RAM: 2*4Gb G.Skill RipJaws V 3200@3466 - VGA: Sapphire HD5770 @955/1360 - SSD: Samsung 850EVO 250Gb - RAID 0: 2x WD Raptor 74Gb - HDD: Barracuda® 7200.11 500Gb - DVD‐RW: LG Trattative HWU |
|
|
|
|
|
|
#19 |
|
Member
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
|
fai cosi
fai l'incremento della variabile index dopo il controllo se la riga e L 101 Codice PHP:
Codice PHP:
|
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Apr 2001
Città: Naples, provincia
Messaggi: 4566
|
uhm..sarà che non ci capisco una mazza... ma non riesco ad andare oltre questo risultato
Codice:
CTB 1 2449028.83 4523083.52 184.54 CTB 1 2449029.24 4523084.09 184.45 CTB 1 2449031.91 4523082.27 184.34 CTB 1 2449051.48 4523061.27 184.49 CTB 1 2449050.40 4523060.48 184.74 CTB 1 2449029.44 4523083.90 184.37 CTB 1 2449028.79 4523083.54 184.51 CTB 1 2449051.43 4523061.41 184.50 CTB 1 2449051.43 4523061.41 184.50 CTB 1 2449028.52 4523130.61 178.31 CTB 1 2449034.17 4523128.20 178.24 CTB 1 2449033.30 4523125.85 178.25 CTB 1 2449027.54 4523128.00 178.20 Codice:
@echo off for /F "tokens=*" %%i IN (TS01.txt) do call :sp "%%i" >> lol.txt rem :sp set lol=%1 set riga=%lol:~1,1% rem if '%riga%' == 'L' goto skip set /A index+=1 set xd=%lol:~1,4% 1%lol:~5,16% %lol:~21% set xd=%xd:CU Z=CTB % set xd=%xd:CD Z=CTB % set xd=%xd:"= % echo %xd% :skip set index=0 Codice:
CTB 1 2449028.83 4523083.52 184.540 CTB 2 2449029.24 4523084.09 184.450 CTB 3 2449031.91 4523082.27 184.340 CTB 4 2449051.48 4523061.27 184.490 CTB 5 2449050.40 4523060.48 184.740 CTB 6 2449029.44 4523083.90 184.370 CTB 1 2449028.79 4523083.54 184.510 CTB 2 2449051.43 4523061.41 184.500 CTB 1 2449028.52 4523130.61 178.310 CTB 2 2449034.17 4523128.20 178.240 CTB 3 2449033.30 4523125.85 178.250 CTB 4 2449027.54 4523128.00 178.200 CTB 5 2449028.50 4523130.57 178.270 CTB 6 2449033.06 4523125.85 178.230 che debba prima contare le righe e poi eliminare le L101?
__________________
Case: Lancool PC‐K62 + Scythe Kaze Master - Ali: Corsair CMPSU‐650HX - MoBo: Asus ROG Maximus VIII Ranger - CPU: i5 6600K @4,5Ghz - Dissy: Thermalright Venomous X - RAM: 2*4Gb G.Skill RipJaws V 3200@3466 - VGA: Sapphire HD5770 @955/1360 - SSD: Samsung 850EVO 250Gb - RAID 0: 2x WD Raptor 74Gb - HDD: Barracuda® 7200.11 500Gb - DVD‐RW: LG Trattative HWU |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:28.




















