Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

ciclo for in batch

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

ciclo for in batch

Postdi Paolo87 » 25/01/08 14:57

Sono sempre io ragazzi,quel pazzo che fa domande sul dos e chiede cose un po fuori dall'ordinario. Volevo solo sapere il codice per far si che un file .bat,quando viene lanciato fa una copia di se stesso e la mette in documenti e non sul desktop. Mi raccomando,quando postate mettete pure il commento al codice,magari se fosse riga x riga,così non vi rompo con domande stupide,detto questo CIAOOOOOOOOOOOOOOOOOOOOOOOOOOOOO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

:) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :)
Paolo87
Utente Senior
 
Post: 305
Iscritto il: 26/08/07 09:54
Località: Roma

Sponsor
 

Re: ciclo for in batch

Postdi Dylan666 » 08/02/08 17:21

Non capisco l'attinenza della domanda col ciclo. Il file deve solo copiarsi in documenti?
Mettiamo faso che il file si chiami pippo.bat. Dentro ci scrivi:

copy pippo.bat "%HOMEDRIVE%%homepath%\Documenti\"
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Re: ciclo for in batch

Postdi Paolo87 » 08/02/08 19:21

Per fare più di una copia. Mi saresti di grande aiuto se mi fai un esempio più pratico. Non capisco a cosa serve %HOMEDRIVE% . Se mi fai un esempio migliore te ne sarei grato ;) .
Comunque grazie per avermi risposto
Paolo87
Utente Senior
 
Post: 305
Iscritto il: 26/08/07 09:54
Località: Roma

Re: ciclo for in batch

Postdi Dylan666 » 10/02/08 17:20

se scrivi %homedrive% in Start>Esegui lo vedi subito a cosa serve ;)
Non ho ancora capito il discorso di più copie col ciclo... a ce servono più copie di uno stesso identico file in una stessa cartella?
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Re: ciclo for in batch

Postdi Paolo87 » 11/02/08 07:03

Sono curioso di sapere come si fa in dos,sai non si trovano molt guide fatte bene di questo linguaggio di programmazione. Comunque queste info mi servono solo per saperne di più
Paolo87
Utente Senior
 
Post: 305
Iscritto il: 26/08/07 09:54
Località: Roma

ciclo for o while in batch dos

Postdi Dylan666 » 11/02/08 15:07

Eccoti un paio di idee:
http://www.rohitab.com/discuss/lofivers ... t2697.html

Si parla di cicli "limitati" e NON"infiniti", perché copiare un file all'infinito è inutile e dannoso a meno che non ci dai prova di una situazione i cui invece serva

PS: mel primo esempio è scritto %%a ma dovrebbe essere %a
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Re: ciclo for in batch

Postdi Paolo87 » 11/02/08 15:13

so che ti rompo le scatole,ma mi faresti tu stesso un esempio completo di un batch che copia se stesso almeno per 2 volte?! se no non capisco. T PREGO DI SCUSARMI SE SONO COSI' DURO DI COMPRENDONIO
Paolo87
Utente Senior
 
Post: 305
Iscritto il: 26/08/07 09:54
Località: Roma

Re: ciclo for in batch

Postdi Paolo87 » 12/02/08 09:48

Allora io ho fatto questo per fare il ciclo for :

@echo off
for %%a in (1 2 ) do copy spegni.bat "%HOMEDRIVE%%homepath%\C:\Documents and Settings\Documenti"
pause > nul

Però mi da errore perchè non trova il file,ma dove sbaglio?!
Paolo87
Utente Senior
 
Post: 305
Iscritto il: 26/08/07 09:54
Località: Roma

Re: ciclo for in batch

Postdi Dylan666 » 12/02/08 11:07

Hai sbagliato diverse cose:

1) se il batch deve copiare se stesso e dentro c'è scritto "copy spegni.bat" il file in cui hai scritto questo comando si deve chiamare spegni.bat, altrimenti è chiaro che non si trova

2) il percorso è scritto male: %HOMEDRIVE% equivale a scrivere "C:\" (e se infatti lo incolli in Start > Esegui e dai invio si apre C:\) mentre %homepath% corrisponde a "C:\Documents and Settings\utente_attuale".
Anzi, ora che ci penso è inutile che scrivi %HOMEDRIVE%%homepath% basta solo %homepath%. Ma siccome devi spostarti ancora di una cartella, cioè "Documenti" il percorso diventa "%homepath%\Documenti\"
Quindi la riga va corretta così:

Codice: Seleziona tutto
@echo off
for %%a in (1 2) do copy spegni.bat "%homepath%\Documenti\"
pause > nul


3) non possono esistere due file con lo stesso nome nella stessa cartella. Quindi il primo passaggio di ciclo prende il file file e lo copia Documenti, e il secondo fa la stessa cosa sovrascrivendo il primo file dato che si chiamano allo stesso modo.
Quanti file avrai se copi 100 volte uno stesso file in una stessa cartella? Sempre e solo 1 se hanno lo stesso nome
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Re: ciclo for in batch

Postdi Paolo87 » 12/02/08 11:15

Grazie mille!!!!!!!!!!! :P allora se volessi copiare lo stesso file però rinominarlo alla seconda passata del ciclo,come devo fare?
Paolo87
Utente Senior
 
Post: 305
Iscritto il: 26/08/07 09:54
Località: Roma

Re: ciclo for in batch

Postdi Dylan666 » 12/02/08 11:19

Mi spieghi prima che senso ha fare una cosa simile? Sa quasi di virus/scherzo ad un amico... :undecided: :o
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Re: ciclo for in batch

Postdi Paolo87 » 12/02/08 11:25

Non è come pensi. Solo che la domanda mi è venuta spontanea. Tutto qui. approposito di virsu/scherzo da dos è possibile risalire all'antivirus usato dal pc????
Paolo87
Utente Senior
 
Post: 305
Iscritto il: 26/08/07 09:54
Località: Roma

Re: ciclo for in batch

Postdi Dylan666 » 12/02/08 11:30

Sull'identificazione dell'antivirus vedi qui:
viewtopic.php?p=398415#p398415

Per copiare il file con nomi diversi ecco la riga modificata per aggiungere, dopo il nome, il numero che trova ad ogni ciclo:

Codice: Seleziona tutto
@echo off
for %%a in (1 2) do copy spegni.bat "%homepath%\Documenti\spegni%%a.bat"
pause > nul
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Re: ciclo for in batch

Postdi Paolo87 » 12/02/08 11:42

Innanzitutto grazie per la tua gentilezza. Io ho provato a farlo via bat,ma non succede nulla.
Lo script è :

@echo off
echo HKEY_LOCAL_MACHINE\Software\Microsoft\Security Center\Monitoring\
pause >nul

Forse c'è un istruzione particolare della quale non sono a conoscenza??? :(
Paolo87
Utente Senior
 
Post: 305
Iscritto il: 26/08/07 09:54
Località: Roma

Re: ciclo for in batch

Postdi Dylan666 » 12/02/08 12:06

hai provato a fare via bat cosa? Vedere il valore di una chiave di registro? In tal caso devi usare il REGEDIT dal batch:
http://www.robvanderwoude.com/regedit.html

Ma è un discorso lunghetto...
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Re: ciclo for in batch

Postdi Paolo87 » 12/02/08 12:09

Cacchio!!!! la documentazione che mi hai fornito non è piccola,io pensavo fosse cosa di poche righe,ma qui devo fare un progetto a parte solo per estrapolare una chiave dal registro. Io ci provo,speriamo bene Se la cosa mi riesce posto qui la soluzione. Mi metto a provare :D
Paolo87
Utente Senior
 
Post: 305
Iscritto il: 26/08/07 09:54
Località: Roma

Re: ciclo for in batch

Postdi Paolo87 » 12/02/08 12:27

Allora questo script potrebbe aiutare,ma ho sbagliato qualcosa,visto che da errore.
Script :

@echo off

find HKEY_LOCAL_MACHINE\Software\Microsoft\Security Center\Monitoring

pause > nul

Ma cosa sbaglio?
Paolo87
Utente Senior
 
Post: 305
Iscritto il: 26/08/07 09:54
Località: Roma

Re: ciclo for in batch

Postdi Paolo87 » 12/02/08 12:44

Mancavano le virgolette,ma comunque sia non mi si vede nulla da prompt. Ecco script -->

@echo off

find "HKEY_LOCAL_MACHINE\Software\Microsoft\Security Center\Monitoring"

pause > nul
Paolo87
Utente Senior
 
Post: 305
Iscritto il: 26/08/07 09:54
Località: Roma

Re: ciclo for in batch

Postdi Paolo87 » 12/02/08 14:40

scusa,ma cosa manca?! script ->

@echo off

find "testo da cercare" HKEY_LOCAL_MACHINE\Software\Microsoft\Security Center\Monitoring.reg

pause > nul

poi se lo esegui ti dirà che la questo file non si trova,ma perchè?!
Paolo87
Utente Senior
 
Post: 305
Iscritto il: 26/08/07 09:54
Località: Roma

Re: ciclo for in batch

Postdi pjfry » 12/02/08 15:10

stai cercando un file dentro al registro? :eeh:
Avatar utente
pjfry
Moderatore
 
Post: 8240
Iscritto il: 19/11/02 17:52
Località: terni

Prossimo

Torna a Programmazione


Topic correlati a "ciclo for in batch":


Chi c’è in linea

Visitano il forum: Nessuno e 6 ospiti

cron