Necesita automatizar una ruta SMB en una ruta UNC antes de enviarla a los clientes Win10

1

Nuevo aquí, pero tengo dificultades para armar un AppleScript que básicamente tome un enlace SMB y lo convierta en un enlace UNC antes de enviarlo a un par de clientes de Win10.

En la misma red, todos estamos usando un SNS NAS y es para los enlaces de Adobe Premiere. Podemos hacer todo esto manualmente, pero los editores no tienen tiempo ni paciencia para convertir cada enlace. Estamos buscando un script automatizado que podamos integrar como un servicio que convertirá el texto seleccionado.

Encontré el artículo a continuación, pero es lo contrario a lo que estamos buscando. Intenté revertir todas las funciones en él pero no pude hacerlo funcionar correctamente.

enlace

También sería asombroso si el 'servicio' que se crea copie la entrada en el portapapeles para que el usuario final pueda pegarlo en un par de cosas diferentes, como el correo electrónico y Slack Messenger.

Espero que alguien pueda ayudarme o guiarme en la dirección correcta. He estado buscando en Google durante aproximadamente una semana.

EDIT ** Ejemplos a continuación

camino viejo 'smb: // server / folder'

Nuevo camino '\\ servidor \ carpeta'

    
pregunta charmndr 18.04.2017 - 21:17

1 respuesta

1

NOTA: esta respuesta está pensada solo como un ejemplo cuando la ruta SMB, aparte de los dos puntos, las barras inclinadas y las barras invertidas y sin espacios, ¡solo contiene caracteres alfanuméricos en el nombre! Si necesita tener en cuenta algo más, es decir, lea los comentarios de esta respuesta, deberá modificar el código de acuerdo con sus necesidades. Dicho esto, en todos mis años como administrador de sistemas de redes e ingeniero de sistemas de redes nunca creé recursos compartidos que contengan espacios u otros, por lo tanto, la necesidad de dos puntos, barras diagonales, barras invertidas y caracteres alfanuméricos, por lo que este simple ejemplo es todo lo que necesito traducir cualquiera, por ejemplo smb://server/folder a \server\folder , ruta SMB que utilicé para una ruta UNC. YMMV!

En Automator , cree un nuevo Servicio flujo de trabajo , luego agregue una acción Ejecutar AppleScript a la vez que reemplaza el código AppleScript predeterminado por el código a continuación:

on searchReplace(theText, SearchString, ReplaceString)
    set OldDelims to AppleScript's text item delimiters
    set AppleScript's text item delimiters to SearchString
    set newText to text items of theText
    set AppleScript's text item delimiters to ReplaceString
    set newText to newText as text
    set AppleScript's text item delimiters to OldDelims
    return newText
end searchReplace

on run {input, parameters}
    set selectedText to item 1 of input as string
    set convertedText to searchReplace(selectedText, "smb://", "\\")
    set convertedText to searchReplace(convertedText, "/", "\")
    set the clipboard to convertedText as string
    return convertedText
end run

Luego guarde el Servicio como: Convertir la ruta SMB a la ruta UNC

Ahora Convertir ruta SMB a ruta UNC aparecerá en el Servicios menú o Servicios contexto menú cuando se selecciona texto y cuando se usa el Servicio , se coloca la ruta UNC en el Portapapeles . (Por supuesto, esto supone que el texto seleccionado era en realidad un SMB Path , de lo contrario, lo que se ubique allí es justo el texto fue seleccionado cuando se ejecutó el Servicio , que incluirá las sustituciones realizadas.)

Ejemplo Ruta SMB smb://server/folder se convertirá en Ruta UNC \server\folder y se colocará en el Portapapeles .

Nota: Tenga en cuenta la configuración del Servicio en la imagen de abajo. La Salida reemplaza el texto seleccionado casilla de verificación no está marcada. Puede comprobarlo, si eso es lo que quiere, sin embargo, si el texto seleccionado no es reemplazable, el Servicio no aparecerá en Servicios menu o Services menu contextual .

    
respondido por el user3439894 19.04.2017 - 03:27

Lea otras preguntas en las etiquetas