Torna indietro   Hardware Upgrade Forum > Software > Microsoft Windows > Microsoft Windows 7 e Vista

ASUS ProArt GoPro Edition è il notebook compatto per chi crea
ASUS ProArt GoPro Edition è il notebook compatto per chi crea
Un notebook sviluppato in collaborazione con GoPro ma che risponde al meglio alle necessità di tutti coloro che creano contenuti video: robustezza, design, potenza di calcolo e funzionalità si abbinano al meglio tra di loro, pur se a prezzo di un costo elevato per via della tanta memoria onboard
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Ho affidato ai due modelli lo stesso mestiere ma non lo stesso identico prompt: trasformare una storia illustrata in un video usando una RTX 3090 e modelli locali. Ne sono usciti due film, due applicazioni e due idee opposte di efficienza. Fucina, progettata con Fable 5, colpisce di più nei primi secondi. Storyboard Studio, costruito con ChatGPT/Codex, regge meglio sulla distanza e vince il confronto complessivo, ma di stretta misura
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Lenovo ha lanciato il ThinkTab X11 rimettendo piede nel segmento dei tablet Android con il marchio Think dopo oltre un decennio di assenza. Il risultato è un dispositivo che prende una direzione precisa: massima dotazione funzionale, costruzione resistente, autonomia fuori dagli schemi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-09-2014, 16:35   #1
Cetto La Qualunque
Senior Member
 
L'Avatar di Cetto La Qualunque
 
Iscritto dal: May 2005
Messaggi: 329
Azione automatica

Ho da fare un lungo e ripetitivo lavoro...inserire molti cd e copiare tutti i file sul cd in una cartella su hd.
Come posso fare in automatico solo cambiando il cd?
Ho scoperto la funzione Utilità di Pianificazione ma mi sa che non c'è questa operazione.
Al momento l'unica azione automatica che ho ottenuto è quella di aprire i cd per vederne il contenuto. Poi devo selezionare i file e trascinarli nella solita cartella.

Sapete se c'è un programma o un'azione automatica per fare questo?
Cetto La Qualunque è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2014, 18:34   #2
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8699
Ti farò una sola parte del VBS, la seconda ( cioè quella relativa alla copia dal DVD alla cartella ) la lascio a te, con un minimo di impegno ci riuscirai da solo
Codice:
' x_Master_x
Dim sDrive
sDrive="E:" ' Cambia con la lettera del tuo lettore DVD

Set fso=WScript.CreateObject("Scripting.FileSystemObject")
If Not fso.DriveExists(sDrive) Then
   WScript.echo "Il drive " & sDrive & " non è stato trovato"
   WScript.Quit
End If

Do While fso.GetDrive(sDrive).IsReady=0
  WScript.Sleep 1000
Loop
WScript.Echo "Il drive " & sDrive & " è pronto per l'uso"
Una volta eseguito lo script con il doppio click, lo stesso controlla automaticamente la lettera E: ed aspetta che inserisci un DVD. Una volta che trova un DVD, ti apparirà il messaggio "Il drive E: è pronto per l'uso" che sostituirai con la copia della cartella che lascio a te.
Una volta effettuata la copia, non ti resta altro che espellere il DVD, avviare nuovamente il VBS, inserire il DVD ed aspettare che finisca la copia...così via.
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2014, 20:44   #3
Cetto La Qualunque
Senior Member
 
L'Avatar di Cetto La Qualunque
 
Iscritto dal: May 2005
Messaggi: 329
Non so bene di cosa parli ma ci ho provato cercando su Google.
Può essere corretto così?

Codice:
Dim sDrive
sDrive="F:"

Set fso=WScript.CreateObject("Scripting.FileSystemObject")
If Not fso.DriveExists(sDrive) Then
   WScript.echo "Il drive " & sDrive & " non è stato trovato"
   WScript.Quit
End If

Do While fso.GetDrive(sDrive).IsReady=0
  WScript.Sleep 1000
Loop
Const OverwriteExisting = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "F:\*.xls" , "E:\archivio\" , OverwriteExisting
WScript.echo "copia F finita"
Partendo invece dalle basi...
- devo creare un file di testo con il blocco note e rinominarlo in script.vbs?
- inserisco il cd, faccio doppio click sul file script.vbs e parte la copia dopodiché cambio cd e riclicco due volte sul file script.vbs, esatto?
- per velocizzare ho recuperato un altro lettore cd/dvd...posso creare un secondo script2.vbs (ovviamente cambiando lettera del lettore) ed eseguirlo in contemporanea?

Comunque grazie per la dritta!

EDIT:
Mi rispondo per alcune domande:
- sì funziona
- a me funziona così
- anche il secondo script funziona in contemporanea

Grazie per la lezione!

Ultima modifica di Cetto La Qualunque : 07-09-2014 alle 21:03.
Cetto La Qualunque è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2014, 10:08   #4
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8699
Ben fatto, io la copia l'avrei fatta con una barra di progresso:
Codice:
' x_Master_x
sTarget = "C:\Destination" 
sOrigin = "C:\Origin"

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(sTarget) 

objFolder.CopyHere sOrigin & "\*.*"
WScript.Echo "Copia finita"
Folder.CopyHere method

A quel punto probabilmente avrei aggiuto una subroutine per evitare di aprire-chiudere il VBS ma questa è un'altra lezione
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2014, 13:03   #5
Cetto La Qualunque
Senior Member
 
L'Avatar di Cetto La Qualunque
 
Iscritto dal: May 2005
Messaggi: 329
Quindi sostituire le mie ultime 4 righe con quello che hai fatto tu?

Codice:
Dim sDrive
sDrive="F:"

Set fso=WScript.CreateObject("Scripting.FileSystemObject")
If Not fso.DriveExists(sDrive) Then
   WScript.echo "Il drive " & sDrive & " non è stato trovato"
   WScript.Quit
End If

Do While fso.GetDrive(sDrive).IsReady=0
  WScript.Sleep 1000
Loop
sTarget = "E:\archivio" 
sOrigin = "F:"

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(sTarget) 

objFolder.CopyHere sOrigin & "\*.xls"
WScript.Echo "Copia finita"
Mentre la subroutine invece a cosa servirebbe? Ad evitare il doppio click sul file script.vbs ogni volta che ho cambiato il cd?
Accetto volentieri suggerimenti pur di semplificare ulteriormente la luuuuuunga operazione.

EDIT:
Ho trovato questo per aprire il lettore cd:
Codice:
CreateObject(“WMPlayer.OCX.7″).cdromCollection.Item(0).eject
Può andare bene al posto di
Codice:
WScript.Echo "Copia finita"
?

EDIT2:
No, non va, mi sa che è un po' più complicato...ho trovato questo ma va a cercare tutti i drive:
Codice:
Set oWMP = CreateObject("WMPlayer.OCX.7")

Set colCDROMs = oWMP.cdromCollection

if colCDROMs.Count > 0 then
    for i=0 to colCDROMs.Count - 1
	strDrive= oWMP.cdromCollection.item(i).driveSpecifier
	strQuestion = "Espellere drive " & strDrive & "?"
	answer= msgbox (strQuestion, vbOKCancel)
	if answer= vbOK then 
	    colCDROMs.Item(i).Eject
	    strQuestion = "Chiudere drive " & strDrive & "?"
	    answer= msgbox (strQuestion, vbOKCancel)
	    if answer= vbOK then colCDROMs.Item(i).Eject
	end if
    next
end if
wscript.quit
Io vorrei far espellere il cd alla fine della copia e far ripartire la copia quando chiudo il lettore con un nuovo cd.

Ultima modifica di Cetto La Qualunque : 08-09-2014 alle 16:11.
Cetto La Qualunque è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2014, 19:31   #6
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8699
Esempio di subroutine:
Codice:
' x_Master_x
Call MySub_1

Sub MySub_1()
  WScript.Echo "Passaggio 1"
  Call MySub_2
End Sub

Sub MySub_2()
  WScript.Echo "Passaggio 2"
  Call MySub_3
End Sub

Sub MySub_3()
  WScript.Echo "Passaggio 3"
  Call TheEnd
End Sub

Sub TheEnd()
  result = MsgBox ("Operazioni concluse. Ripetere da zero?", vbYesNo, "Attenzione")
   Select Case result
     Case vbYes
       Call MySub_1
     Case vbNo
       WScript.Quit
   End Select
End Sub
Questo serve per espellere un DVD da una specifica lettera:
Codice:
' x_Master_x
sLetter = "D:" ' Da cambiare con la lettera del lettore

Set oWMP = CreateObject("WMPlayer.OCX.7")
Set colCDROMs = oWMP.cdromCollection

If colCDROMs.Count > 0 then
    For i=0 to colCDROMs.Count - 1
         sDrive = oWMP.cdromCollection.item(i).driveSpecifier
         If sDrive = sLetter Then
            colCDROMs.Item(i).Eject
         End If
    Next
End If
Questa è la versione "corta"
Codice:
' x_Master_x
sLetter = "D:" ' Da cambiare con la lettera del lettore

Set oWMP = CreateObject("WMPlayer.OCX.7")
Set colCDROMs = oWMP.cdromCollection
Set oCD = oWMP.cdromCollection.getByDriveSpecifier(sLetter)
oCD.Eject
Le ultime due, entrambe, funzionano correttamente. Credo che come "lezioni" siamo apposto, ora tocca a te
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.

Ultima modifica di x_Master_x : 09-09-2014 alle 13:13.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2014, 19:53   #7
Cetto La Qualunque
Senior Member
 
L'Avatar di Cetto La Qualunque
 
Iscritto dal: May 2005
Messaggi: 329
Sì le ultime 2 funzionano correttamente.
Ora devo provare a comporre i vari passaggi, ossia:
1- copia da F: a E:
2- espelli carrello
3- quando il carrello rientra riparti dal passaggio 1
Cetto La Qualunque è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2014, 20:05   #8
Cetto La Qualunque
Senior Member
 
L'Avatar di Cetto La Qualunque
 
Iscritto dal: May 2005
Messaggi: 329
Codice:
' x_Master_x
Call MySub_1

Sub MySub_1()
  sDrive="F:"

Set fso=WScript.CreateObject("Scripting.FileSystemObject")
If Not fso.DriveExists(sDrive) Then
   Call TheEnd
End If

Do While fso.GetDrive(sDrive).IsReady=0
  WScript.Sleep 1000
Loop
Const OverwriteExisting = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "F:\*.xls" , "E:\archivio\" , OverwriteExisting

  Call MySub_2
End Sub

Sub MySub_2()
  Set oWMP = CreateObject("WMPlayer.OCX.7")

sLetter = "F:" 

Set colCDROMs = oWMP.cdromCollection
Set oCD = oWMP.cdromCollection.getByDriveSpecifier(sLetter)
oCD.Eject
  Call MySub_3
End Sub

Sub MySub_3()
  Call TheEnd
End Sub

Sub TheEnd()
  result = MsgBox ("Copia F finita. Ripetere da zero?", vbYesNo, "Attenzione")
   Select Case result
     Case vbYes
       Call MySub_1
     Case vbNo
       WScript.Quit
   End Select
End Sub
Passaggio 1 ,2 e 3 funzionano correttamente...copia,apre il carrello e mi chiede se voglio ripartire. Io inserisco e dico di sì e riparte la copia.
Ora devo vedere come sostituire il terzo passaggio...come posso fare per fargli capire di ripartire dal passaggio 1 quando il carrello è rientrato?

Ultima modifica di Cetto La Qualunque : 08-09-2014 alle 21:07.
Cetto La Qualunque è offline   Rispondi citando il messaggio o parte di esso
Old 09-09-2014, 08:36   #9
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8699
?

Codice:
Sub TheEnd()
    Call MySub_1
End Sub
Però in questo modo non puoi uscire dallo script senza terminarlo dal Task Manager. Ti consiglio di separare meglio le subroutine ( una per controllare che la lettera esista aka fso.DriveExists, una il Do...Loop che aspetta che il lettore abbia un DVD inserito, una per la copia, una per espellere il DVD e l'ultima per ripetere la prima operazione ) e infine di dargli un nome comprensibile, Verifica() Copia() etc.
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 09-09-2014, 10:07   #10
Cetto La Qualunque
Senior Member
 
L'Avatar di Cetto La Qualunque
 
Iscritto dal: May 2005
Messaggi: 329
Penso di aver riordinato meglio. Non ho capito bene però la chiusura che mi hai indicato...in teoria non riparte se dico sì e si interrompe tutto se dico no?

Codice:
' x_Master_x
Call 1_Verifica

Sub 1_Verifica()
  sDrive="F:"
Set fso=WScript.CreateObject("Scripting.FileSystemObject")
If Not fso.DriveExists(sDrive) Then
   Call TheEnd
End If
  Call 2_Lettore
End Sub

Sub 2_Lettore()
Do While fso.GetDrive(sDrive).IsReady=0
  WScript.Sleep 1000
Loop
  Call 3_Copia
End Sub

Sub 3_Copia()
Const OverwriteExisting = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "F:\*.xls" , "E:\archivio\" , OverwriteExisting
  Call 4_Espelli
End Sub

Sub 4_Espelli()
  Set oWMP = CreateObject("WMPlayer.OCX.7")
sLetter = "F:" 
Set colCDROMs = oWMP.cdromCollection
Set oCD = oWMP.cdromCollection.getByDriveSpecifier(sLetter)
oCD.Eject
  Call 5_Finale
End Sub

Sub 5_Finale()
  result = MsgBox ("Copia F finita. Ripetere da zero?", vbYesNo, "Attenzione")
   Select Case result
     Case vbYes
       Call 1_Verifica
     Case vbNo
       WScript.Quit
   End Select
End Sub

Per la barra di progresso della copia è un casino? Ho provato a cercare ma non ho trovato nulla di chiaro (soprattutto al mio livello ). Pensavo di far comparire la solita finestra di avanzamento quando si copiano i file solitamente.
Cetto La Qualunque è offline   Rispondi citando il messaggio o parte di esso
Old 09-09-2014, 12:09   #11
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8699
Quote:
Originariamente inviato da Cetto La Qualunque Guarda i messaggi
Penso di aver riordinato meglio. Non ho capito bene però la chiusura che mi hai indicato...in teoria non riparte se dico sì e si interrompe tutto se dico no?
Esatto, era riferito alla domanda "come posso fare per fargli capire di ripartire dal passaggio 1 quando il carrello è rientrato" cioè richiamare Sub 1_Verifica() direttamente quando aveva finito la copia, il carrello che sia fuori o dentro non importa tanto ricerca sempre se è presente un DVD nel lettore.
Lascia come l'ho scritto in precedenza comunque, era solo un esempio.

Quote:
Originariamente inviato da Cetto La Qualunque Guarda i messaggi
Per la barra di progresso della copia è un casino?
Te l'ho già scritta, post #4
La copi-incolli nella Sub 3_Copia() cambiando i percorsi con i tuoi, è la stessa barra di progresso che usa Windows

P.S. C'è un errore:
Codice:
If Not fso.DriveExists(sDrive) Then
   Call TheEnd
End If
Dovrebbe essere:
Codice:
If Not fso.DriveExists(sDrive) Then
   WScript.Echo "Il drive " & sDrive & " non è stato trovato"
   WScript.Quit
End If
Se non trova il lettore è inutile continuare, deve uscire.
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.

Ultima modifica di x_Master_x : 09-09-2014 alle 12:12.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
Old 09-09-2014, 12:24   #12
Cetto La Qualunque
Senior Member
 
L'Avatar di Cetto La Qualunque
 
Iscritto dal: May 2005
Messaggi: 329
Ok, spero di aver capito le correzioni. Grazie ancora per la disponibilità!
Già sto velocizzando di molto il lavoro grazie al tuo aiuto!

Codice:
' x_Master_x
Call 1_Verifica


Sub 1_Verifica()
  sDrive="F:"
Set fso=WScript.CreateObject("Scripting.FileSystemObject")
If Not fso.DriveExists(sDrive) Then
   WScript.Echo "Il drive " & sDrive & " non è stato trovato"
   WScript.Quit
End If
  Call 2_Lettore
End Sub


Sub 2_Lettore()
Do While fso.GetDrive(sDrive).IsReady=0
  WScript.Sleep 1000
Loop
  Call 3_Copia
End Sub


Sub 3_Copia()
Const OverwriteExisting = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "F:\*.xls" , "E:\archivio\" , OverwriteExisting

sTarget = "E:\archivio\" 
sOrigin = "F:"

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.NameSpace(sTarget) 

objFolder.CopyHere sOrigin & "\*.xls"
  Call 4_Espelli
End Sub


Sub 4_Espelli()
  Set oWMP = CreateObject("WMPlayer.OCX.7")
sLetter = "F:" 
Set colCDROMs = oWMP.cdromCollection
Set oCD = oWMP.cdromCollection.getByDriveSpecifier(sLetter)
oCD.Eject
  Sub 1_Verifica
End Sub
Cetto La Qualunque è offline   Rispondi citando il messaggio o parte di esso
Old 09-09-2014, 13:10   #13
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8699
Codice:
Sub 3_Copia()
  sTarget = "E:\archivio" 
  sOrigin = "F:"

  Set objShell = CreateObject("Shell.Application")
  Set objFolder = objShell.NameSpace(sTarget) 

  objFolder.CopyHere sOrigin & "\*.xls"
  Call 4_Espelli
End Sub
Nella tua versione hai messo 2 volte la copia, per il resto sei apposto così.

P.S. Ricordati che per come è strutturato 4_Espelli() puoi solo terminarlo dal Task Manager per uscire, altrimenti usa la versione con il MsgBox
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.

Ultima modifica di x_Master_x : 09-09-2014 alle 13:15.
x_Master_x è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS ProArt GoPro Edition è il notebook compatto per chi crea ASUS ProArt GoPro Edition è il notebook c...
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader Tascabile e con Android: BOOX Go 6 Gen II &egrav...
WINDTRE, le offerte di fine luglio: 5G F...
Due scrivanie angolari gaming a prezzi b...
Telecamere e intelligenza artificiale su...
L'ASUS Zenbook di cui tutti parlano torn...
Helios, la piattaforma di Schneider Elec...
Multiverse Computing raccoglie 500 milio...
Videogiochi, social e azzardo: un giovan...
Tre astronauti rientrano dalla ISS: la S...
Kimi K3 ha trovato 19 zero-day in Redis ...
Aggiungere un acceleratore IA per data c...
Debian valuta lo stop totale ai contribu...
Huawei sfida il ban USA: al via la produ...
QNAP lancia i nuovi NAS TS-262A e TS-462...
E4 Computer Engineering e EuroHPC JU uni...
World di Sam Altman raccoglie 52,5 milio...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 19:18.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v