Créer nouveau fichier comme windows

PA5CAL

Vétéran
Club MacG
21 Juillet 2005
9 228
597
Île-de-France
T'ouvre le terminal :

Touch monfichier.truc
C'est un peu moins simple que ça. Sous Windows, le seul intérêt de pouvoir créer un fichier avant de l'ouvrir dans une application est d'indiquer dans quel dossier il doit être stocké.

Or, Terminal s'ouvre invariablement sur le même dossier (par défaut, le dossier principal de l'utilisateur, correspondant à la petite maison dans le Finder).
 

daffyb

-Duck Warrior-
Modérateur
Club MacG
18 Octobre 2001
13 758
1 667
Angoulême
C'est un peu moins simple que ça. Sous Windows, le seul intérêt de pouvoir créer un fichier avant de l'ouvrir dans une application est d'indiquer dans quel dossier il doit être stocké.

Or, Terminal s'ouvre invariablement sur le même dossier (par défaut, le dossier principal de l'utilisateur, correspondant à la petite maison dans le Finder).
Tout à fait, et l'intérêt d'avoir cette fonction dans windows, c'est que se balader dans arborescence depuis la fenêtre enregistrer sous c'est la loose et que un bon paquet d'application ne mémorise pas l'endroit où on enregistre le fichier.
Le contournement a été donc de proposer la création du fichier directement dans l'explorateur.
 

PA5CAL

Vétéran
Club MacG
21 Juillet 2005
9 228
597
Île-de-France
Ouai enfin bon se déplacer dans les dossiers avec le terminal c'est pas non plus la mer à boire....
... Oui, mais créer et enregistrer le fichier dans l'application idoine est encore plus simple et naturel.

Or ici le sujet est d'arriver à créer un fichier à partir du menu contextuel comme sous Windows, quand bien même sous Mac OS la pratique incite plutôt à procéder tout autrement.
 

gel_hydroalcoolique

Membre junior
19 Août 2010
45
3
Donc autant synthétiser :
- quand c'est possible de le faire trivialement sous Windows/Linux mais pas sous MacOS, c'est mieux d'utiliser le terminal ^^ --> Gloire à MacOS
- quand c'est plus plus sympa-joli-convivial de la faire sous MacOS que sous Windows/Linux --> Gloire à MacOS

Et pourtant quand je me connecte le matin, la 1ère chose que je fais c'est d'ouvrir un terminal, lancer un petit top, lancer mes scripts de maintenance/connexion/rsync divers et variés (oui oui je sais y'a une crontab).

Mais là quand on demande s'il est possible graphiquement d'avoir un "Create File" mais défendre MacOS en arguant de la PUISSANCE du terminal, c'est quand même balaise.
 

PA5CAL

Vétéran
Club MacG
21 Juillet 2005
9 228
597
Île-de-France
- quand c'est possible de le faire trivialement sous Windows/Linux mais pas sous MacOS, c'est mieux d'utiliser le terminal ^^
C'est pousser le bouchon un peu loin, je pense :siffle: .

Pour résumé ce qui a été dit plus haut, ce n'est pas prévu par défaut dans le Finder, mais ça reste toujours possible, plus ou moins simplement.

Par ailleurs la console est bien pratique, et parfois même incontournable, sous Mac OS X comme sous Windows ou Linux.

Mais dire que l'utilisation de Terminal est préférable dans ce cas de figure n'est pas l'avis de tout le monde ici.


Mais là quand on demande s'il est possible graphiquement d'avoir un "Create File" mais défendre MacOS en arguant de la PUISSANCE du terminal, c'est quand même balaise.
Quand une manipulation est possible via Terminal, on peut arguer du fait que l'OS sait la faire simplement. Par ailleurs Mac OS X propose divers moyen d'automatiser des tâches dans l'environnement graphique.

Indiquer comment procéder sous Terminal donne donc une information intéressante pour parvenir à ses fins dans l'environnement graphique.

Alors quand on parle de la commande « touch » sous Terminal, il ne faut pas prendre ça pour la solution ultime à la question posée (d'abord parce qu'elle n'y répond pas à elle toute seule), mais seulement comme une partie de la réponse.

Par exemple, avec cette indication on peut faire ce qui est demandé en reprenant mon script de service vu au post #9, et en le modifiant comme suit :
Bloc de code:
[COLOR="DimGray"]on run {input, parameters}
	repeat with selDir in input
		set dirPath to (POSIX path of selDir)
		do shell script "[B][COLOR="DarkRed"]touch[/COLOR][/B] \"" & dirPath & "nouveau.txt\""
		tell application "Finder"
			set theNewFile to (file "nouveau.txt" of folder selDir)
			activate
			select theNewFile
		end tell
		return
	end repeat
end run[/COLOR]
 

ceslinstinct

Membre d’élite
Club MacG
10 Août 2004
2 069
111
21
Bonsoir
PS: ceci n'est qu'un exemple rapide. Il est donc forcément très perfectible. N'hésitez pas à apporter vos contributions pour l'améliorer.
Bonjour

Un AppleScript que j'utilise sans problème avec Léopard 10.5.8

Bloc de code:
do shell script "echo > '" & POSIX path of ((path to desktop as text) & "test.txt") & "'"



Bloc de code:
do shell script "touch //Users/" & (do shell script "whoami") & "/Desktop/name.txt"

Il y en a d'autres...

A modifier si le chemin utilise des caractères exotique (non US)…

@+
 

PA5CAL

Vétéran
Club MacG
21 Juillet 2005
9 228
597
Île-de-France
Attention. Ces exemples créent un fichier sur le Bureau. Or, comme je l'indiquais plus haut, le seul intérêt de la manip sous Windows semble être de pouvoir choisir le dossier de destination du fichier créé. Sinon il est plus simple de passer par une application normale (éditeur de texte ou autre).
 

Inew

Membre junior
11 Juin 2008
65
1
Merci pour votre aide :)

P5cal a compris je pense mon soucis ;)
Ta solution apporte donc une réponse sauf que c'est dommage qu'il faut clicker sur le dossier pour créer un fichier dans ce dossier. Ca serai parfait si je pouvait faire directement dans le dossier.
Dommage que Nufile n'est pas compatible avec snow leopard 10.6, ça aurait été parfait
 

ceslinstinct

Membre d’élite
Club MacG
10 Août 2004
2 069
111
21
Attention. Ces exemples créent un fichier sur le Bureau. Or, comme je l'indiquais plus haut, le seul intérêt de la manip sous Windows semble être de pouvoir choisir le dossier de destination du fichier créé. Sinon il est plus simple de passer par une application normale (éditeur de texte ou autre).
Un Glisser-Déposer du dossier de destination sur le code pour qu'il créer le fichier dans ce dossier.

Une idée de code à tester.

Bloc de code:
on open selected_items
	do shell script "echo > '" & POSIX path of ((selected_items as string) & "test.txt") & "'"
end open

@+
 

ceslinstinct

Membre d’élite
Club MacG
10 Août 2004
2 069
111
21
J'ai réfléchis à comment améliorer mais c'est sens résultat :hein:
Bonjour

J'ai jamais ouvert le terminal, je l'utilise avec AppleScript.
J'ai jamais utilisé window, la seule chose que je sais, c'est que c'est un truc qui cause des problèmes aux MACs.

Donc je ne suis d'aucun secours pour toi, je répondais seulement pour indiquer comment j'utilise le terminal sans faire trop d'erreurs.

Il faut avoir un cahier des charges de ce que tu recherche exactement.

@+
 
A

Anonyme

Invité
Bonjour,

Merci pour votre aide :)
sauf que c'est dommage qu'il faut clicker sur le dossier pour créer un fichier dans ce dossier.
Celui-ci fonctionne avec un dossier sélectionné, un fichier sélectionné ou une multiple sélection.

Bloc de code:
on run {input}
	set newFiles to {}
	tell application "Finder"
		repeat with i in input
			set t_item to item i
			if class of t_item is not folder and class of t_item is not disk then
				set t_item to container of t_item
			end if
			set end of newFiles to (make new file at t_item)
		end repeat
		select newFiles
	end tell
end run
Le nom du nouveau fichier sera par défaut "Sans titre", sur un OS français

--
Edition :
Si vous préférez que l'extension du nouveau fichier soit celle du fichier sélectionné :
Bloc de code:
on run {input}
	set nom to "sans titre" -- le nom du nouveau fichier
	set newFiles to {}
	tell application "Finder"
		repeat with i in input
			set t_item to item i
			set the_ext to ".txt"
			if class of t_item is not folder and class of t_item is not disk then
				set t to name extension of t_item
				if t is not "" and t is not missing value then set the_ext to "." & t
				set t_item to container of t_item
			end if
			set n to 0
			tell t_item
				set nomorig to nom
				repeat while exists item (nom & the_ext) -- vérification en cas d'un nom identique.
					set n to n + 1
					set nom to nomorig & " " & n --nom identique, incremente avec un nombre
				end repeat
				set end of newFiles to make new file at it with properties {name:nom & the_ext}
			end tell
		end repeat
		select newFiles
	end tell
end run
Si la sélection est un dossier ou que le fichier sélectionné n'a pas d'extension, ce sera .txt
 

Inew

Membre junior
11 Juin 2008
65
1
Ca ne fonctionne pas. J'ai édité ce que Pascal m'a dit de faire par ça pourtant ou bien dois-je recommencer depuis le début ?
J'ai essayant de faisant étape par étape comme Pascal mais ca ne créer un fichier que en faisant click droit sur un dossier
 
A

Anonyme

Invité
Ca ne fonctionne pas. J'ai édité ce que Pascal m'a dit de faire par ça pourtant ou bien dois-je recommencer depuis le début ?

Moi je n'utilise pas l'action "Obtenir les éléments sélectionnés du finder".
Je suis sur Leopard, et je l'enregistre en module du Finder

La seule différence dans le script qui causerait un problème serait set t_item to item i à remplacer par set t_item to i, si le contenu dans input sont des déja des Finder item alors qu'ici ce sont des alias AppleScript

---------- Nouveau message ajouté à 15h23 ---------- Le message précédent a été envoyé à 15h10 ----------

OK, le problème est : En haut à droite après «Réceptions du service...», sélectionne «dossiers» et «Finder.app» dans les listes.

Est-ce que tu peux sélectionner fichiers et dossiers dans ces listes.
JE n'ai pas Snow Leopard pour vérifier.


--
--Edition 2
J'ai testé ici avec l'action Obtenir les éléments sélectionnés du finder", ça ne marche pas dans certains cas, parce que la sélection par clic droit n'est pas toujours la sélection faite avant ce clic droit.
 

Inew

Membre junior
11 Juin 2008
65
1
Problème résolu. J'ai mis dossier ou fichier mais par contre il créer 2 fichiers ^^

---------- Nouveau message ajouté à 21h50 ---------- Le message précédent a été envoyé à 21h45 ----------

surement un soucis de boucle ?
 
A

Anonyme

Invité
Problème résolu. J'ai mis dossier ou fichier mais par contre il créer 2 fichiers ^^

---------- Nouveau message ajouté à 21h50 ---------- Le message précédent a été envoyé à 21h45 ----------

surement un soucis de boucle ?

As-tu testé sans l'action "Obtenir les éléments sélectionnés du finder" ?
 

Inew

Membre junior
11 Juin 2008
65
1
Effectivement c'était ça le soucis :) merci
C'est dommage qu'il faut sélectionner un fichier ou dossier pour pouvoir créer mais ça va je suis satisfait ^^ encore merci