Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato
Nuova frontiera per i robot tagliaerba, con Ecovacs GOAT O1200 LiDAR Pro che riconosce l'ambiente in maniera perfetta, grazie a due sensori LiDAR, e dopo la falciatura può anche rifinire il bordo con il tagliabordi a filo integrato
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere?
Equilibrio e potenza definiscono il Samsung Galaxy S26+, un flagship che sfida la variante Ultra e la fascia alta del mercato con il primo processore mobile a 2nm. Pur mantenendo l'hardware fotografico precedente, lo smartphone brilla per un display QHD+ da 6,7 pollici d'eccellenza, privo però del trattamento antiriflesso dell'Ultra, e per prestazioni molto elevate. Completano il quadro la ricarica wireless a 20W e, soprattutto, un supporto software settennale
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr sbarca ufficialmente in Italia con tre modelli elettrici premium, X, 7X e 001, distribuiti da Jameel Motors su una rete di 52 punti vendita già attivi. La Zeekr X parte da 39.900 euro, la 7X da 54.100: piattaforma a 800V, chip Snapdragon di ultima generazione, ricarica ultraveloce e un'autonomia dichiarata fino a 615 km WLTP. Le prime consegne sono previste a metà aprile
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


Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Recensione Samsung Galaxy S26+: sfida l'Ultra, ma ha senso di esistere? Recensione Samsung Galaxy S26+: sfida l'Ultra, m...
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
GeForce NOW: ecco tutte le novità in arr...
Il Realme 16 5G debutta sul mercato glob...
HONOR svela tre nuovi tablet: il più int...
Tineco Floor One S9 Master: aspira e pul...
Vivo X300 Ultra, il lancio globale è ini...
Offerte robot aspirapolvere Amazon: ECOV...
L'AI genera codice in 8 minuti e i senio...
Ring Intercom Audio a 44,99€ su Amazon: ...
Apple iPhone 16 crolla a 689€: ecco perc...
Google Pixel 9 a 449,90€ con caricatore ...
Ecco la top 7 delle offerte Amazon, aggi...
Ex ingegnere ammette il sabotaggio: migl...
I coupon nascosti di Amazon si rinnovano...
Disponibili i video e le immagini in alt...
La NASA ha rilasciato le prime fotografi...
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: 17:36.


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