Estoy intentando crear un enlace simbólico a un directorio de red cuando me conecto. Esto está trabajando para un par de otros directorios sin espacios en el nombre, pero para la vida de mí no puedo conseguir este director para trabajar y estoy asumiendo que tiene que ver con los caracteres de espacio.
en una ventana de terminal puedo crear con éxito el enlace manualmente con
ln -s "/Volumes/D/Contracts and Price Sheets"/ ~/Desktop/Contracts
mi applescript actual tiene este aspecto
tell application "Finder"
mount volume "smb://user:password@192.168.0.0/D"
set contractsPath to "/Volumes/D/Contracts and Price Sheets/"
if not (exists ((path to desktop as text) & "hDrive")) then
do shell script "ln -s /Volumes/D/Home/user/ ~/Desktop/hDrive"
end if
if not (exists ((path to desktop as text) & "sDrive")) then
do shell script "ln -s /Volumes/D/Data/ ~/Desktop/sDrive"
end if
if not (exists ((path to desktop as text) & "Inventory")) then
do shell script "ln -s /Volumes/D/Inventory/ ~/Desktop/Inventory"
end if
if not (exists ((path to desktop as text) & "Contracts")) then
do shell script "ln -s " & quoted form of the POSIX path of contractsPath & " ~/Desktop/Contracts"
end if
end tell
Seguro que todos estos condicionales son una mala costumbre, pero no soy un programador experimentado. De todos modos, las tres primeras unidades de montar con éxito, sin embargo, el directorio final (con espacios en el título) simplemente no funciona. He peinado la web en busca de respuestas, pero seguir recibiendo ningún resultado.
Se agradece cualquier aportación. Gracias.
0 votos
¿Ha probado a añadir comillas a la cadena contractsPath, por ejemplo
"\"/Volumes/D/Contracts and Price Sheets/\""
?0 votos
Sí, también he probado a escapar la barra invertida con otra barra invertida así que
/Volumes/D/Contracts\\ and\\ Price\\ Sheets/