# Comment effacer un fichier invible



## Baroque (12 Mai 2005)

Bonjour !
Quelqu'un peut-il m'aider à écrire un petit script pour effacer un fichier invisible ?
J'ai essayé avec "do shell script rm &#8230;", mais je n'arrive pas à le faire marcher. Je suis débutant en Unix.
Merci !


----------



## molgow (12 Mai 2005)

Je comprends pas le problème ?
Pour effacer n'importe quel fichier avec un shell, tu fais "rm _tonfichier_".


----------



## r e m y (12 Mai 2005)

Fais gaffe quand même en manipulant la commande rm (si comme tu le dis tu n'es pas spécialiste en UNIX).... un défaut de syntaxe dans la commande passée par ton script et tu effaces tout ton disque dur!


----------



## daffyb (12 Mai 2005)

Je pense qu'il veut automatiser la chose.....
Dans ce cas, je te conseille plutot un script shell comme le suggère molgow 
Si tu nous en disais plus, on pourrait t'aider, mais là, c'est un peu "limite" comme question


----------



## Baroque (12 Mai 2005)

Merci beaucoup de vous intéresser à mon petit problème et excusez-moi d'avoir été imprécis !!
Voici mon script dans son état actuel :

try
    do shell script "rm'/Macintosh HD/Utilisateurs/Partagé/monfichier.dat'"
end try
tell application "Finder"
    empty the trash
end tell

Mais quand je rend mon fichier visible avec Onyx, il est toujours là.


----------



## molgow (12 Mai 2005)

Baroque a dit:
			
		

> Merci beaucoup de vous intéresser à mon petit problème et excusez-moi d'avoir été imprécis !!
> Voici mon script dans son état actuel :
> 
> try
> ...



Il manque un espace entre "rm" et ton fichier non ?
Et puis, pourquoi ne pas utiliser le finder pour effacer le fichier, il ne veut pas pour un fichier invisible ?
Autre chose, avec "rm" ton fichier est directement et irrémédiablement effacé, donc même pas besoin de vider la corbeille


----------



## daffyb (12 Mai 2005)

Baroque a dit:
			
		

> Merci beaucoup de vous intéresser à mon petit problème et excusez-moi d'avoir été imprécis !!
> Voici mon script dans son état actuel :
> 
> try
> ...


En effet, je ne connais pas vraiment l'apple Script, mais plus la ligne de commande, et j'écrirais plutot cela :

```
do shell script "rm '/Macintosh\ HD/Users/Shared/monfichier.dat'"
```
à vérifier au niveau des majuscules pour Shared entre autre et l'espace dans la ligne de commande pour Macintosh HD pourrais pauser problème (il faut ajouter un \)


----------



## Ptit-beignet (12 Mai 2005)

r e m y a dit:
			
		

> Fais gaffe quand même en manipulant la commande rm (si comme tu le dis tu n'es pas spécialiste en UNIX).... un défaut de syntaxe dans la commande passée par ton script et tu effaces tout ton disque dur!


A moins d'être en "root" et de tapper une commande bien spécifique y'a pas trop de danger quand même ... 
Juste éviter ce genre de commande "rm -r -f /"


----------



## r e m y (12 Mai 2005)

Baroque a dit:
			
		

> Merci beaucoup de vous intéresser à mon petit problème et excusez-moi d'avoir été imprécis !!
> Voici mon script dans son état actuel :
> 
> try
> ...


 
Les dossiers /Utilisateurs;  /Partagé n'existent pas. C'est juste une illusion d'optique! 
Ils s'appellent /Users  et /Shared   (c'est le finder qui les affichent sous un autre nom. POur t'en convaincre, et voir leur VRAI nom, fais un Pomme-I dessus)


----------



## Baroque (12 Mai 2005)

J'ai avancé, grâce à vous, merci ! MAIS la vie n'est pas simple&#8230;
J'arrive à supprimer mon fichier invisible à partir du terminal en tapant ces deux commandes :

cd /Users/Shared
rm .uhfhvvPdufk45338.dat

Et ça marche ! Mais quand j'essaye d'en faire un script :

try
do shell script "cd '/Users/Shared'"
end try
try
do shell script "rm '.uhfhvvPdufk45338.dat'"
end try

Là, ça ne marche plus. Qu'est-ce qui m'échappe ??


----------



## tornade13 (12 Mai 2005)

Salut
Moi je ferais apparaitre le fichier avec onyx un coup de 'sudo rm' tu fais glisser ton fichier sur le shell et fini


----------



## Baroque (12 Mai 2005)

Oui, mais je ne voudrais pas avoir à passer par le terminal. Le fichier invisible dont je veux me débarrasser est créé automatiquement par une demo d'application chaque fois qu'elle se lance. Je veux donc faire un script qui lance l'appli et supprime le fichier. Pas besoin d'en dire plus. Je sais, c'est mal&#8230;


----------



## molgow (12 Mai 2005)

Baroque a dit:
			
		

> try
> do shell script "cd '/Users/Shared'"
> end try
> try
> ...



Fais plutôt quelque chose comme ça :

try
  do shell script "rm /Users/Shared/*.dat"
end try

De cette manière, ça effacera tous les .dat dans le répertoire Shared.


----------



## Baroque (12 Mai 2005)

Bon, ça ne marche pas. On n'a pas que des satisfactions avec Unix&#8230; Je crois que je vais m'en tenir au Basic !

Merci quand même, c'est sympa.


----------



## r e m y (13 Mai 2005)

essaie ça:

set filename to ".15Fgdt25.dat"
do shell script "rm " & filename user name "ton_user" password "ton_mot_de_passe" with administrator privileges


----------



## Baroque (13 Mai 2005)

Merci !

J'ai rentré ça :

try
set filename to ".hvwxduvPdufk45338.dat"
do shell script "rm " & filename user name "Administrateur" password "2181" with administrator privileges
end try

A la compil il s'arrête sur user name et sort le message
"fin de ligne, etc prévu, mais trouvé propriété."

Est-ce une erreur de syntaxe ?


----------



## Baroque (13 Mai 2005)

J'ai trouvé tout seul les erreurs de syntaxe. Le script compilé donne ça :

try
    set filename to ".hvwxduvPdufk45338.dat"
    do shell script "'rm ' & filename user name 'Administrateur' password '2181' with administrator privileges"
end try

Mais il ne supprime toujours pas this fucking file !!!!!!


----------



## r e m y (13 Mai 2005)

C'est peut-être le point en début de nom de fichier qui passe mal.... essaie de créer un fichier bidon dans ton dossier "Partagé" (un bidon.txt par exemple) et essaie ton script avec 
set filename to "bidon.txt"


----------



## Baroque (13 Mai 2005)

Non, ça ne marche toujours pas. Ne serait-ce pas un pb de chemin d'accès ?


----------



## r e m y (13 Mai 2005)

Baroque a dit:
			
		

> Non, ça ne marche toujours pas. Ne serait-ce pas un pb de chemin d'accès ?


 
OUps j'ai oublié de remettre la ligne   do shell script "cd '/Users/Shared'"


----------



## Baroque (13 Mai 2005)

Voilà mon script :

try
    do shell script "cd '/Users/Shared'"
end try
try
    set filename to "Bidon.txt"
    do shell script "'rm ' & filename user name 'administrateur' password '2181' with administrator privileges"
end try

J'ai bien mon fichier "Bidon.txt" dans mon répertoire "Partagé"
Je clique sur "Éxécuter"&#8230; et mon fichier est toujours là

Mon Mac ne m'aime pas&#8230;


----------



## r e m y (13 Mai 2005)

juste une idée.... remplace les / par de : dans le path du fichier

Sinon dans l'éditeur de script, que dit l'onglet résultat après l'éxécution? Et l'onglet liste des évènements?


----------



## molgow (14 Mai 2005)

J'ai fait ça :

 try
   do shell script "rm /Users/Shared/Bidon.txt" with administrator privileges
 end try

Et ça fonctionne très bien, il demande le username et le mot de passe à l'utilisateur, c'est mieux que de le stocker en clair dans un fichier !


----------



## Baroque (14 Mai 2005)

J'ai d'abord cru que ça ne marchait pas&#8230; mais il suffisait de rajouter des ' avant et après le chemin d'accès. Et ça efface aussi très bien mon fichier invisible. Merci de ta patience et de ta tenacité, Molgow, ainsi qu'aux autres contributeurs&#8230; Pour un premier post sur ce forum, c'est vraiment très sympa !


----------

