Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata
Le webcam Insta360 Link 2 Pro e Link 2C Pro sono una proposta di fascia alta per chi cerca qualità 4K e tracciamento automatico del soggetto senza ricorrere a configurazioni complesse. Entrambi i modelli condividono sensore, ottiche e funzionalità audio avanzate, differenziandosi per il sistema di tracciamento: gimbal a due assi sul modello Link 2 Pro, soluzione digitale sul 2C Pro
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70 porta il concetto di smartphone ultrasottile su un terreno più concreto e accessibile: abbina uno spessore sotto i 6 mm a una batteria di capacità relativamente elevata, un display pOLED da 6,7 pollici e un comparto fotografico triplo da 50 MP. Non punta ai record di potenza, ma si configura come alternativa più pragmatica rispetto ai modelli sottili più costosi di Samsung e Apple
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026
Sono molte le novità che ASUS ha scelto di presentare al CES 2026 di Las Vegas, partendo da una gamma di soluzioni NUC con varie opzioni di processore passando sino agli schermi gaming con tecnologia OLED. Il tutto senza dimenticare le periferiche di input della gamma ROG e le soluzioni legate alla connettività domestica
Tutti gli articoli Tutte le news

Vai al Forum
Discussione Chiusa
 
Strumenti
Old 17-02-2014, 11:34   #1
Trial4life
Member
 
L'Avatar di Trial4life
 
Iscritto dal: Sep 2010
Messaggi: 180
[VBScript] Spostare un file nel cestino

Ciao a tutti,
sto cercando un modo per spostare un file nel cestino tramite VBScript. Con il metodo DeleteFile dell'oggetto FileSystemObject, il file specificato viene elminato definitivamente. Invece c'è un modo per spostarlo nel cestino? È complicato?
Trial4life è offline  
Old 17-02-2014, 12:40   #2
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Potresti utilizzare questo tool: http://www.maddogsw.com/cmdutils/
Daniels118 è offline  
Old 17-02-2014, 13:01   #3
Trial4life
Member
 
L'Avatar di Trial4life
 
Iscritto dal: Sep 2010
Messaggi: 180
Non c'è un'alternativa che non richieda programmi esterni?
Trial4life è offline  
Old 17-02-2014, 13:05   #4
x_Master_x
Senior Member
 
L'Avatar di x_Master_x
 
Iscritto dal: May 2005
Messaggi: 8699
Send a File to the Recycle Bin
FolderItem.InvokeVerb method
__________________
.
Thread Ufficiali: EasyCrypt ~ Old Files Manager ~ OSD Clock
The real me is no match for the legend
.
x_Master_x è offline  
Old 17-02-2014, 13:18   #5
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Quello è il modo corretto, però ha un inconveniente: viene visualizzata la finestra per la conferma della cancellazione.
L'alternativa è di modificare delle chiavi di registro, ma al momento non ricordo quali.
Daniels118 è offline  
Old 17-02-2014, 14:16   #6
Trial4life
Member
 
L'Avatar di Trial4life
 
Iscritto dal: Sep 2010
Messaggi: 180
Ho provato con lo script nel primo link, ma non funziona... non appare neanche la finestra di conferma della cancellazione. Com'è possibile?
(Non viene visualizzato nessun errore)
Trial4life è offline  
Old 17-02-2014, 14:25   #7
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Ops, non mi ero accorto che fossero dei link...
sostituisci quest'istruzione
objFolderItem.InvokeVerb("&Delete")
con questa:
objFolderItem.InvokeVerb("delete")
Daniels118 è offline  
Old 17-02-2014, 15:39   #8
Trial4life
Member
 
L'Avatar di Trial4life
 
Iscritto dal: Sep 2010
Messaggi: 180
Funziona! Grazie mille!
Trial4life è offline  
Old 17-02-2014, 21:48   #9
Trial4life
Member
 
L'Avatar di Trial4life
 
Iscritto dal: Sep 2010
Messaggi: 180
Mmh... c'è un altro piccolo problema.
Nello script che sto cercando di realizzare, ho bisogno di spostare nel cestino tanti file contemporaneamente. Per farlo, ho utilizzato il codice che ha linkato x_Master_x all'interno di una Sub, che ho poi richiamato in un ciclo For, in modo da spostare nel cestino ogni file presente nella cartella.
Il problema è che in questo modo i file vengono spostati nel cestino uno ad uno, mettendoci molti secondi per completare l'operazione quando i file sono varie centinaia. Invece, l'ideale sarebbe spostarli tutti contemporaneamente nel cestino...

Avete qualche idea?
Trial4life è offline  
Old 18-02-2014, 09:22   #10
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Puoi iterare sulle istruzioni di cancellazione invece che sull'intero codice.

Se i file si trovano tutti nella stessa cartella basta inserire queste due istruzioni nel ciclo:
Codice:
Set objFolderItem = objFolder.ParseName(strFileName(i))
objFolderItem.InvokeVerb("delete")
dove strFileName è un array che contiene i nomi dei file (non i percorsi assoluti) e i è la variabile indice del ciclo for.
Se hai i percorsi assoluti puoi ricavare i nomi dei file con questa istruzione:
strFileName = fso.GetFileName(pathAssoluto(i))
in questo caso strFileName è una stringa e pathAssoluto un array.

Se invece i file si trovano in cartelle diverse dovrai inserire queste istruzioni nel ciclo:
Codice:
strFolderParent = fso.GetParentFolderName(pathAssoluto(i))
strFileName = fso.GetFileName(pathAssoluto(i))
Set objFolder = objShell.Namespace(strFolderParent) 
Set objFolderItem = objFolder.ParseName(strFileName)
objFolderItem.InvokeVerb("delete")
Daniels118 è offline  
Old 18-02-2014, 14:36   #11
Trial4life
Member
 
L'Avatar di Trial4life
 
Iscritto dal: Sep 2010
Messaggi: 180
Mmh... a grandi linee ho capito cosa intendi, ma non credo di aver capito bene come impostare il codice.

Allora innanzitutto i file sono tutti nella stessa cartella. Tuttavia, lo script serve a cancellare tutti i file di un solo tipo all'interno di una cartella, quindi non tutti i file contenuti in essa.

Per ora la parte di codice in questione è questa:
Codice:
Set FolderRecycle = objFSO.GetFolder(FolderPath)
     For Each File In FolderRecycle.Files
          If Right(File.name,ExtLen) = Extension Then 
	       Toss(FolderPath & "\" & File.name)
	  End If
     Next
Dove:
- FolderPath è il percorso della cartella in cui ci sono i file
- Extension è l'estensione dei file da cancellare
- ExtLen è la lunghezza della stringa Extension
- Toss è la Sub con argomento "strFileToToss", contente il codice preso dal link di prima.

Quindi tu mi stai dicendo di togliere quel ciclo For Each, lasciando soltanto il ciclo l'istruzione If, e inserire un ciclo For..To all'interno della sub Toss? Ma lo devo mettere solo per la definizione di strFileName, o anche per lo spostamento nel cestino?

Ultima modifica di Trial4life : 18-02-2014 alle 15:12.
Trial4life è offline  
Old 18-02-2014, 15:07   #12
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Cosa? Il ciclo i...
Codice:
Const HKEY_CURRENT_USER = &H80000001

Private Sub moveToRecycle(FolderPath, Extension)
	strComputer = "."
	Set fso = CreateObject("Scripting.FileSystemObject")
	Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
	strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Explorer"
	strValueName = "ShellState"
	Call oReg.GetBinaryValue(HKEY_CURRENT_USER,strKeyPath, strValueName,strValue)
	strOrigBinSet = strValue(4)
	strValue(4) = 39
	errReturnA = oReg.SetBinaryValue(HKEY_CURRENT_USER, strKeyPath, strValueName, strValue)
	Set objShell = CreateObject("Shell.Application")
	Set objFolder = objShell.Namespace(FolderPath)
	'
	Set FolderRecycle = objFSO.GetFolder(FolderPath)
	For Each File In FolderRecycle.Files
		If Right(File.name, 4) = "." & Extension Then 
			Set objFolderItem = objFolder.ParseName(File.name)
			objFolderItem.InvokeVerb("delete")
		End If
	Next
	'
	strValue(4) = strOrigBinSet
	errReturnB = oReg.SetBinaryValue(HKEY_CURRENT_USER, strKeyPath, strValueName, strValue)
End Sub
Non testato.
Daniels118 è offline  
Old 18-02-2014, 15:08   #13
Trial4life
Member
 
L'Avatar di Trial4life
 
Iscritto dal: Sep 2010
Messaggi: 180
Ops... ahahahah mi sono sbagliato
Trial4life è offline  
Old 18-02-2014, 15:28   #14
Trial4life
Member
 
L'Avatar di Trial4life
 
Iscritto dal: Sep 2010
Messaggi: 180
Non è cambiato molto... la velocità di spostamento nel cestino è sempre quella (per 300 files ci metterà all'incirca 20 secondi).

Lo script è in grado anche di rimuovere i file senza spostarli nel cestino. Per farlo, ho usato:
Codice:
objFSO.DeleteFile(ELIMINA)
con ELIMINA = FolderPath & "\*." & Extension

In questo modo, con l'asterisco, tutti i file dell'estensione Extension vengono rimossi contemporaneamente (senza bisogno di nessun ciclo!), e ci mette davvero un attimo.

C'è un modo per usare l'asterisco anche nella Sub di prima?

Ultima modifica di Trial4life : 18-02-2014 alle 15:32.
Trial4life è offline  
Old 18-02-2014, 16:45   #15
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
Codice:
Const HKEY_CURRENT_USER = &H80000001
Const SHCONTF_NONFOLDERS = 64

Private Sub moveToRecycle(FolderPath, Extension)
	strComputer = "."
	Set fso = CreateObject("Scripting.FileSystemObject")
	Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
	strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Explorer"
	strValueName = "ShellState"
	Call oReg.GetBinaryValue(HKEY_CURRENT_USER,strKeyPath, strValueName,strValue)
	strOrigBinSet = strValue(4)
	strValue(4) = 39
	errReturnA = oReg.SetBinaryValue(HKEY_CURRENT_USER, strKeyPath, strValueName, strValue)
	Set objShell = CreateObject("Shell.Application")
	Set objFolder = objShell.Namespace(FolderPath)
	'
	Set objFolderItems = objFolder.Items()
	Call objFolderItems.Filter(SHCONTF_NONFOLDERS, "*." & Extension)
	Call objFolderItems.InvokeVerbEx("delete")
	'
	strValue(4) = strOrigBinSet
	errReturnB = oReg.SetBinaryValue(HKEY_CURRENT_USER, strKeyPath, strValueName, strValue)
End Sub
Daniels118 è offline  
Old 18-02-2014, 21:50   #16
Trial4life
Member
 
L'Avatar di Trial4life
 
Iscritto dal: Sep 2010
Messaggi: 180
Davvero geniale!
Non so come ringraziarti!!! Funziona tutto alla perfezione
Trial4life è offline  
Old 15-08-2018, 12:18   #17
mecrally
Junior Member
 
Iscritto dal: Aug 2018
Messaggi: 1
Spostare files nel cestino da unità flash/di rete

Ciao a tutti e buon Ferragosto! Mi chiedevo: esiste uno script che permette di spostare i files che voglio cancellare nel cestino del disco C anziché eliminarli definitivamente??? Sarebbe estremamente utile, dal post che leggo sembra che ci siamo quasi ma non capisco tutte quelle righe di codice dove/come le devo inserire...
mecrally è offline  
Old 15-08-2018, 16:18   #18
Mursey
Senior Member
 
L'Avatar di Mursey
 
Iscritto dal: Aug 2017
Messaggi: 469
Quote:
Originariamente inviato da mecrally Guarda i messaggi
non capisco tutte quelle righe di codice dove/come le devo inserire...
Quattro anni fa qui si parlava di VBscript.

A te serve un file batch immagino... ?
Mursey è offline  
Old 15-08-2018, 16:57   #19
Daniels118
Senior Member
 
L'Avatar di Daniels118
 
Iscritto dal: Jan 2014
Messaggi: 852
07E soprattutto perché sottolinei il cestino del disco c? Stiamo per caso parlando di file su un disco esterno?
Edit: non avevo visto il titolo...
Quando mandi un file nel cestino in realtà il file resta dov'è, viene semplicemente nascosto, per questo puoi inviarvi file enormi senza alcuna attesa... Ovviamente ciò non è possibile se il file risiede su un disco esterno perché non c'è garanzia che questo sia ancora collegato qualora decidessi di ripristinare il file. In questo caso il sistema deve effettuare una copia del file da qualche parte, e per farlo occorre eseguire una configurazione sul cestino per il disco in oggetto.

Ultima modifica di Daniels118 : 15-08-2018 alle 17:13.
Daniels118 è offline  
Old 15-08-2018, 17:27   #20
Slater91
Amministratore
 
L'Avatar di Slater91
 
Iscritto dal: Jun 2009
Città: Glasgow, Scozia
Messaggi: 1966
Quote:
Originariamente inviato da mecrally Guarda i messaggi
Ciao a tutti e buon Ferragosto! Mi chiedevo: esiste uno script che permette di spostare i files che voglio cancellare nel cestino del disco C anziché eliminarli definitivamente??? Sarebbe estremamente utile, dal post che leggo sembra che ci siamo quasi ma non capisco tutte quelle righe di codice dove/come le devo inserire...
Ripescare una discussione vecchia di quattro anni non è una buona idea. Meglio aprirne una nuova (magari nella sezione Windows)...
__________________
Riccardo Robecchi - autore per Hardware Upgrade
MB ASUS Crosshair VI Hero, CPU Ryzen 7 1700X, RAM 32 GiB Corsair Vengeance 3000MHz, VGA Sapphire AMD Radeon RX 5700 XT Pulse, CASE Sun Ultra 24, PSU Corsair TX650W. KDE neon x64 & Win 10 Pro x64.
Slater91 è offline  
 Discussione Chiusa


Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
Le novità MSI del 2026 per i videogiocatori Le novità MSI del 2026 per i videogiocato...
instax mini Evo Cinema: la nuova soluzio...
YouTube mette un freno agli Shorts: i ge...
Dreame L40 Ultra AE di nuovo a 499€ su A...
I consigli per l'upgrade del proprio PC:...
Il cloud per i criminali? Si chiamava Re...
SpaceX si aggiudica un contratto da 739 ...
Nuove analisi di Geotab: la ricarica fas...
Il limite degli 1,5 gradi è sempre più l...
NVIDIA rilascia DLSS 4.5 Super Resolutio...
Dipartimento dell'Energia degli Stati Un...
Leapmotor B03X al debutto europeo: &egra...
Pixelmator Pro debutta su iPad: la versi...
Il gioco di Batman: The Dark Knight &egr...
Cancellata la missione Mars Sample Retur...
Matthew McConaughey registra la propria ...
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: 16:55.


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