Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart
Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart
Mentre Ubisoft vorrebbe chiedere agli utenti, all'occorrenza, di distruggere perfino le copie fisiche dei propri giochi, il movimento Stop Killing Games si sta battendo per preservare quella che l'Unione Europea ha già riconosciuto come una forma d'arte. Abbiamo avuto modo di parlare con Daniel Ondruska, portavoce dell'Iniziativa Europa volta a preservare la conservazione dei videogiochi
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Abbiamo provato il nuovo Galaxy S25 Edge, uno smartphone unico per il suo spessore di soli 5,8 mm e un peso super piuma. Parliamo di un device che ha pro e contro, ma sicuramente si differenzia dalla massa per la sua portabilità, ma non senza qualche compromesso. Ecco la nostra prova completa.
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
Pensato per il professionista sempre in movimento, HP Elitebook Ultra G1i 14 abbina una piattaforma Intel Core Ultra 7 ad una costruzione robusta, riuscendo a mantenere un peso contenuto e una facile trasportabilità. Ottime prestazioni per gli ambiti di produttività personale con un'autonomia lontano dalla presa di corrente che permette di lavorare per tutta la giornata
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-07-2007, 09:20   #1
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
[C] System: "rm" di Linux diventa "del" su Win32?!

Codice:
system("rm ./tmp/*");
system("rm ./log/*");
system("rm ./tts/*");
system("rm -r canale*");
diventano

Codice:
system("del ./tmp/*");
system("del ./log/*");
system("del ./tts/*");
system("deltree canale*");
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.

Ultima modifica di Matrixbob : 06-07-2007 alle 09:37.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2007, 09:21   #2
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Pensavo di programare multipiattaforma ed allora se fallisce la system con RM esegui la sistem con DEL.
Questo volevo fare.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2007, 09:42   #3
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Codice:
DOS                                     Linux
---------------------------------------------------------------------

C:\GUIDO>DIR                            $ ls
C:\GUIDO>DIR FILE.TXT                   $ ls file.txt
C:\GUIDO>DIR *.H *.C                    $ ls *.h *.c
C:\GUIDO>DIR/P                          $ ls | more
C:\GUIDO>DIR/A                          $ ls -l
C:\GUIDO>DIR *.TMP /S                   $ find / -name "*.tmp"
C:\GUIDO>CD                             $ pwd
        n/a - vedi nota                 $ cd
        idem                            $ cd ~
        idem                            $ cd ~/temp
C:\GUIDO>CD \OTHER                      $ cd /other
C:\GUIDO>CD ..\TEMP\TRASH               $ cd ../temp/trash
C:\GUIDO>MD NEWPROGS                    $ mkdir newprogs
C:\GUIDO>MOVE PROG ..                   $ mv prog ..
C:\GUIDO>MD \PROGS\TURBO                $ mkdir /progs/turbo
C:\GUIDO>DELTREE TEMP\TRASH             $ rm -R temp/trash
C:\GUIDO>RD NEWPROGS                    $ rmdir newprogs
C:\GUIDO>RD \PROGS\TURBO                $ rmdir /progs/turbo
Mah, deltree non esiste + a quanto pare.

Suggerimenti per fare: system("rm -r canale*"); ?!
Ovver ocancellare tutte le cartelle chiamate:
canale"qualcosa"
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.

Ultima modifica di Matrixbob : 06-07-2007 alle 09:46.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2007, 09:48   #4
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Forse devo spezzare il comando così:
Codice:
system("del canale*\*");
system("rd canale*");
Niente, forse:
rd canale* /s /q
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.

Ultima modifica di Matrixbob : 06-07-2007 alle 09:53.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2007, 09:55   #5
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
Niente, forse:
rd canale* /s /q
Che balle adesso non prende l'asterisco (*) ...

"La sintassi del nome del file è incorretta", ma che cavolo vuole ancora?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.

Ultima modifica di Matrixbob : 06-07-2007 alle 10:18.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2007, 10:54   #6
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
Pensavo di programare multipiattaforma ed allora se fallisce la system con RM esegui la sistem con DEL.
Questo volevo fare.
deltree difficilmente lo trovi presente in un sistema Windows.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2007, 11:20   #7
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Quote:
Originariamente inviato da tomminno Guarda i messaggi
deltree difficilmente lo trovi presente in un sistema Windows.
Eh infatti non c'è.
Altre soluzioni?!
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2007, 11:29   #8
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
Altre soluzioni?!
Usare ad esempio la API Win32 SHFileOperation, che tra l'altro consente anche di mostrare una dialog di "progress".
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2007, 11:39   #9
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Quote:
Originariamente inviato da andbin Guarda i messaggi
Usare ad esempio la API Win32 SHFileOperation, che tra l'altro consente anche di mostrare una dialog di "progress".
Puoi farmi, se hai tempo, un esempio esplicativo di come si usa?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2007, 12:05   #10
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
Puoi farmi, se hai tempo, un esempio esplicativo di come si usa?
Una cosa del genere (senza usare la dialog di progress, cioè in modo "silenzioso"):
Codice:
#define STRICT
#include <windows.h>
#include <shellapi.h>
#include <stdio.h>

BOOL DeleteDirTree (LPSTR lpszPath)
{
    SHFILEOPSTRUCT shfops;

    ZeroMemory (&shfops, sizeof (shfops));
    shfops.wFunc = FO_DELETE;
    shfops.fFlags = FOF_NOCONFIRMATION | FOF_SILENT | FOF_NOERRORUI;
    shfops.pFrom = lpszPath;

    return SHFileOperation (&shfops) == 0;
}

int main (void)
{
    BOOL bRet;

    bRet = DeleteDirTree ("C:\\TEMP");

    return 0;
}
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 06-07-2007, 19:42   #11
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
Codice:
system("rm ./tmp/*");
system("rm ./log/*");
system("rm ./tts/*");
system("rm -r canale*");
diventano

Codice:
system("del ./tmp/*");
system("del ./log/*");
system("del ./tts/*");
system("deltree canale*");
Codice:
system("python -c \"import shutil; shutil.rmtree('canale*')\"")
/* eccetera */
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2007, 10:18   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da marco.r Guarda i messaggi
Bello, ma ha la leggera controindicazione che l'interprete Python debba essere installato sulla macchina ospite

#ifdef WIN32 // non mi ricordo se è WIN32 o __WIN32
system("rm ./tmp/*");
system("rm ./log/*");
system("rm ./tts/*");
system("rm -r canale*");
#else
system("del ./tmp/*");
system("del ./log/*");
system("del ./tts/*");
system("deltree canale*");
#endif

Consiglio...sposta tutti questi file in una sottodirectory chiama "data" o qualcosa del genere...
Dopo usi "deltree data" o "rm -rf data"...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2007, 11:20   #13
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Quote:
Originariamente inviato da cionci Guarda i messaggi
#ifdef WIN32 // non mi ricordo se è WIN32 o __WIN32
system("rm ./tmp/*");
system("rm ./log/*");
system("rm ./tts/*");
system("rm -r canale*");
#else
system("del ./tmp/*");
system("del ./log/*");
system("del ./tts/*");
system("deltree canale*");
#endif
1] Si chiamano MACRO quelle che stai usando con # innanzi?
2] Posso sbatterli così in mezzo al codice sorgente C?
3] #ifdef WIN32, cioè se è definito fai degli rm? Non è il contrario, cioè fai i del?
4] Deltree mi pare che non esista come comando, devo scaricarlo altrove e metterlo nella cartella system32?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.

Ultima modifica di Matrixbob : 07-07-2007 alle 11:35.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2007, 11:28   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
1) sì
2) sono direttive al compilatore...se compili per Windows ti compila il primo pezzo di codice, se compili su un so diverso da Windows ti compila il secondo, fanno comunque parte della stessa famiglia delle macro, che si dichiarano con #define
3) sì, è invertito
4) mi sa che l'hanno tolto in XP, una volta nel dos c'era, allora mi sa che ti conviene usare le API che ti ha suggerito andbin

Ovviamente:
Codice:
#ifdef WIN32

#define STRICT
#include <windows.h>
#include <shellapi.h>

BOOL DeleteDirTree (LPSTR lpszPath)
{
    SHFILEOPSTRUCT shfops;

    ZeroMemory (&shfops, sizeof (shfops));
    shfops.wFunc = FO_DELETE;
    shfops.fFlags = FOF_NOCONFIRMATION | FOF_SILENT | FOF_NOERRORUI;
    shfops.pFrom = lpszPath;

    return SHFileOperation (&shfops) == 0;
}

#endif
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2007, 11:29   #15
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Quote:
Originariamente inviato da cionci Guarda i messaggi
Consiglio...sposta tutti questi file in una sottodirectory chiama "data" o qualcosa del genere...
Dopo usi "deltree data" o "rm -rf data"...
Quindi intendi così?
Codice:
    #ifdef WIN32
    system("rd /s /q data");
    #else
    system("rm -rf data");
    #endif


-r = ricorsivo, ma -f?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.

Ultima modifica di Matrixbob : 12-07-2007 alle 17:16.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2007, 11:41   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ah hanno messo la possibilità di rimuovere le sottodirectory con rd...buon a sapersi

-f Non chiede conferme. Non scrive messaggi diagnostici. Non pro‐
duce un stato di ritorno d’errore se gli unici errori erano file
inesistenti.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2007, 11:44   #17
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
Quote:
Originariamente inviato da cionci Guarda i messaggi
Ah hanno messo la possibilità di rimuovere le sottodirectory con rd...buon a sapersi

-f Non chiede conferme. Non scrive messaggi diagnostici. Non produce un stato di ritorno d’errore se gli unici errori erano file inesistenti.
Questo sempre per tutti i comandi Linux o solo per rm?
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2007, 11:49   #18
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Solo per rm, poi ogni comando ha storia a se...magari qualcuno ha la stessa opzione...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2007, 13:10   #19
Matrixbob
Senior Member
 
L'Avatar di Matrixbob
 
Iscritto dal: Jul 2001
Messaggi: 9947
questo non me lo fa fare
Quote:
mkdir ./data/canale1
, la sintassi è errata dice.

Come faccio a lanciare + comandi dalla stessa riga di comando?
Avevo in mente di fare
Quote:
mkdir data
cd data
mkdir canale1
oppure se la shell lo accettasse qualcosa del tipo
Quote:
shell> mkdir data; cd data; makdir canale1
, se avete altre idee sono tutto occhi.
__________________
Aiuta la ricerca col tuo PC: >>Calcolo distribuito BOINC.Italy: unisciti anche tu<<
Più largo è il sorriso, più affilato è il coltello.
Matrixbob è offline   Rispondi citando il messaggio o parte di esso
Old 12-07-2007, 13:17   #20
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
questo non me lo fa fare
mkdir ./data/canale1

, la sintassi è errata dice.
Su linux è corretta, e funziona a patto che la directory 'data' sia già esistente.

Quote:
Originariamente inviato da Matrixbob Guarda i messaggi
oppure se la shell lo accettasse qualcosa del tipo
shell> mkdir data; cd data; makdir canale1
Su linux è così. Più comandi separati da ; vengono eseguiti sequenzialmente dalla shell.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart Intervista a Stop Killing Games: distruggere vid...
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione Samsung Galaxy S25 Edge: il top di gamma ultraso...
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto HP Elitebook Ultra G1i 14 è il notebook c...
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
Tesla sta per lanciare il Robotaxi nella...
Dead Island 2 arriva su Mac, ma a un pre...
FIA e Formula E rinnovano il matrimonio:...
Windows 11 24H2 approda su nuovi sistemi...
Le restrizioni americane hanno generato ...
Una Mercedes EQS con batterie allo stato...
Il robot Walker S2 della Cina cambia la ...
Cosa vuol dire "vantaggio quantisti...
Retelit punta sulla connettività ...
Novità WhatsApp: promemoria sui m...
AMD: la prossima generazione di schede v...
MediaWorld potrebbe diventare cinese: Ce...
Amazon in delirio da sconti: 22 articoli...
EOLO ha più di 700 mila utenti in...
Una spin-off del MIT ha creato dei super...
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: 18:31.


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