Ho un servizio che crea un nuovo file .txt o .rtf. Il servizio salva questo file sul disco. Il nome file di questo file è fornito dall'utente tramite una finestra di dialogo di immissione. Ma, ho trovato che se il nome del file contiene una barra ( /
), allora il file non verrà creato.
Supponiamo che mi piacerebbe creare un file dal titolo: Questo è il mio / file.txt .
Posso creare manualmente questo file in Finder.app senza errori, il che indica che il sistema operativo consente di inserire barre nei nomi dei file (a differenza dei due punti, ad esempio).
Ecco un codice (ad esempio uno snippet dal mio servizio) per riprodurre l'errore:
set theCustomFilename to text returned of (display dialog "Enter filename:
" default answer "This is my /file")
set thePath to "/Users/Me/Desktop/"
set theFileExtension to ".txt"
set theCustomFilePathname to thePath & theCustomFilename & theFileExtension
try
set fileHandle to open for access theCustomFilePathname with write permission
write "This is the document text." to fileHandle
close access fileHandle
on error eStr number eNum
display dialog eStr & " number " & eNum buttons {"OK"} default button 1 with title "File I/O Error..." with icon caution
try
close access fileHandle
end try
end try
Se esegui il codice sopra, ti verrà dato l'errore:
File /Users/Me/Desktop/This is my / file.txt wasn’t found. number -43