Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Nascondere la shell dos è possibile ?

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

Nascondere la shell dos è possibile ?

Postdi vichi66 » 25/08/05 19:18

Ciao ragazzi ho realizzato un file batch per copiare il contenuto di una cartella in un' altra, solo che vorrei evitare ogni volta che lo eseguo la visualizzazione di tutta la procedura, cioè vorrei nascondere la shell dos esiste un metodo ?
Grazie !
vichi66
Utente Senior
 
Post: 365
Iscritto il: 20/11/01 01:00
Località: Caltanissetta

Sponsor
 

Postdi hydra » 25/08/05 19:24

Uno script (javascript, vbscript)??? A parte gli scherzi, non penso che quello che chiedi sia possibile, in quanto un file batch non è altro che una sequenza di comandi dos, e per eseguirli ci vuole l'interprete dei comandi.
PRova davvero a pensare all'idea dello script. ;)
Avatar utente
hydra
Moderatore
 
Post: 7002
Iscritto il: 19/07/04 08:06
Località: Vallis Duplavis

Postdi vichi66 » 25/08/05 20:51

Non so come funziona lo script !
il mio comando è questo:
xcopy c:\cartella origine\*.*\ c:\cartella destinazione /s/e

come dovrei scrivere per creare uno script ?
vichi66
Utente Senior
 
Post: 365
Iscritto il: 20/11/01 01:00
Località: Caltanissetta

Postdi hydra » 25/08/05 20:57

Esempio:
Codice: Seleziona tutto
La gestione del file system, come la copia di file e cartelle, richiede l'impiego dell'oggetto File System (FSO). Gli script seguenti illustrano l'utilizzo dell'FSO per copiare sia file che cartelle.

Copia di file
Gli script seguenti illustrano come copiare un file da una cartella locale a un'altra. Lo script crea innanzitutto un oggetto File System. Il metodo CopyFile, un metodo dell'oggetto file system, esegue l'operazione di copia del file. Il metodo CopyFile presenta due parametri: il file sorgente e la destinazione.

// JScript.
var FSO = WScript.CreateObject("Scripting.FileSystemObject");
FSO.CopyFile("c:\\COMPlusLog.txt", "c:\\x\\");

' VBScript.
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFile "c:\COMPlusLog.txt", "c:\x\"
Copia di cartelle
Lo script seguente illustra come copiare il contenuto di una cartella locale in un'altra cartella sul computer locale.

Nota   Affinché il metodo funzioni, è necessario che la cartella di destinazione sia già esistente. Per ulteriori informazioni su come creare una directory utilizzando WSH, vedere Metodo CreateFolder.
Lo script crea innanzitutto un oggetto File System. Il metodo CopyFolder, un metodo dell'oggetto file system, esegue l'operazione di copia della cartella. Il metodo CopyFolder presenta due parametri: la cartella di origine e la destinazione.

// JScript.
var FSO = WScript.CreateObject("Scripting.FileSystemObject");
FSO.CopyFolder("c:\\x", "c:\\y");

' VBScript.
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFolder "c:\x", "c:\y"
Avatar utente
hydra
Moderatore
 
Post: 7002
Iscritto il: 19/07/04 08:06
Località: Vallis Duplavis

Postdi vichi66 » 25/08/05 21:37

ma per creare questo script ho bisogno di un compilatore ?
vichi66
Utente Senior
 
Post: 365
Iscritto il: 20/11/01 01:00
Località: Caltanissetta

Postdi vichi66 » 25/08/05 21:38

e come si esegue ?
vichi66
Utente Senior
 
Post: 365
Iscritto il: 20/11/01 01:00
Località: Caltanissetta

Postdi vichi66 » 26/08/05 09:26

ho capito...si crea un file con il blocco note con estensione vbs ma non riesco a creare la cartella !!!!
vichi66
Utente Senior
 
Post: 365
Iscritto il: 20/11/01 01:00
Località: Caltanissetta

Postdi archimede » 26/08/05 09:44

Prova a creare un file copia.vbs contenente:
Codice: Seleziona tutto
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.run "cmd /Q /C xcopy c:\cartella origine\*.*\ c:\cartella destinazione /s/e", 0, False
Forse davanti al comando xcopy devi mettere il percorso completo.

HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi vichi66 » 26/08/05 10:13

Ho provato ha creare il file con il tuo codice archimede ma non succede nulla !
vichi66
Utente Senior
 
Post: 365
Iscritto il: 20/11/01 01:00
Località: Caltanissetta

Postdi hydra » 26/08/05 10:18

Codice: Seleziona tutto
Crea una cartella.

oggetto.CreateFolder(nomecartella)
Argomenti
oggetto
Obbligatorio. Nome di un oggetto FileSystemObject.
nomecartella
Obbligatorio. Espressione stringa che identifica la cartella da creare.
Osservazioni
Se la cartella specificata esiste già, verrà generato un errore.

Nell'esempio seguente viene illustrato l'utilizzo del metodo CreateFolder per creare una cartella:

[JScript]
var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateFolder("c:\\nuova cartella");
[VBScript]
Function CreateFolderDemo
   Dim fso, f
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.CreateFolder("c:\Nuova cartella")
   CreateFolderDemo = f.Path
End Function
Avatar utente
hydra
Moderatore
 
Post: 7002
Iscritto il: 19/07/04 08:06
Località: Vallis Duplavis

Postdi archimede » 26/08/05 10:20

vichi66 ha scritto:Ho provato ha creare il file con il tuo codice archimede ma non succede nulla !
Hai anche provato a
mettere il percorso completo davanti al comando xcopy
?

Con il semplice copy a me funziona.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi cassioli » 26/08/05 10:26

Ho sentito dire che mettendo il parametro /MIN "da qualche parte" (???) si ottiene l'esecuzione del batch senza che la finestra DOS appaia; pero':
- non ho ben capito dove va 'sto /MIN :mmmh: Forse nel percorso che compare nelle proprieta' del batch (o PIF che sia...)
- con le prove che ho fatto io (con Win2000) non mi funziona, compare sempre la dannata finestra!
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02

Postdi cassioli » 26/08/05 10:27

Ah, ecco dov'era la pagina:
http://www.experts-exchange.com/Operati ... 70146.html

Pero'... a me non è servita a niente!
Altre idee?
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02

Postdi vichi66 » 26/08/05 10:29

Sono riuscito Archimede, ma modificando il tuo codice così:
Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.run "cmd /Q /C xcopy c:\cartella origine\*.* c:\cartella destinazione /s/e", 0, False

dopo *.* non ci deve essere "\" ora il problema è che vorrei che la cartella di destinazione me la deve creare il codice stesso, è possibile ?
vichi66
Utente Senior
 
Post: 365
Iscritto il: 20/11/01 01:00
Località: Caltanissetta

Postdi archimede » 26/08/05 10:29

vichi66 ha scritto:Ho provato ha creare il file con il tuo codice archimede ma non succede nulla !
:aaah Davo per scontato che il tuo codice funzionasse;
Codice: Seleziona tutto
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.run "cmd /Q /C xcopy c:\prova\*.* c:\prova2 /s/e/i", 0, False
Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi cassioli » 26/08/05 10:43

Come posso passare un parametro da linea di comando allo script? Il mio script deve impostare l'orario, che riceve come stringa dal programma che lo chiama.
cassioli
Utente Senior
 
Post: 1014
Iscritto il: 05/03/04 11:02

Postdi vichi66 » 26/08/05 10:43

Ho provato /MIN ma non succede nulla io ho WinXP !
vichi66
Utente Senior
 
Post: 365
Iscritto il: 20/11/01 01:00
Località: Caltanissetta

Postdi vichi66 » 26/08/05 10:50

Ok Archimede l'ultimo codice è perfetto funziona !!!
Ora se mi daresti una mano per creare una cartella con il VBscript ?
vichi66
Utente Senior
 
Post: 365
Iscritto il: 20/11/01 01:00
Località: Caltanissetta

Postdi vichi66 » 26/08/05 10:54

Ho provato quello da te postato:
[JScript]
var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateFolder("c:\\nuova cartella");
[VBScript]
Function CreateFolderDemo
Dim fso, f
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.CreateFolder("c:\Nuova cartella")
CreateFolderDemo = f.Path
End Function

ma mi appare un errore !!!
vichi66
Utente Senior
 
Post: 365
Iscritto il: 20/11/01 01:00
Località: Caltanissetta

Postdi hydra » 26/08/05 10:56

Non so se hai visto il mio ultimo post. Ti ho incollato per intero il testo della guida in linea, c'è anche il vbscript. Prova a dargli un occhio. ;)
Avatar utente
hydra
Moderatore
 
Post: 7002
Iscritto il: 19/07/04 08:06
Località: Vallis Duplavis

Prossimo

Torna a Programmazione


Topic correlati a "Nascondere la shell dos è possibile ?":


Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti