Obtener datos de RTF fuera de Mac OS X Cheetboard (portapapeles)
-
23-09-2019 - |
Pregunta
De acuerdo con la man
Página para pbpaste
,
-Prefer {txt | rtf | ps}
tells pbpaste what type of data to look for in the pasteboard
first. As stated above, pbpaste normally looks first for plain
text data; however, by specifying -Prefer ps you can tell
pbpaste to look first for Encapsulated PostScript. If you spec-
ify -Prefer rtf, pbpaste looks first for Rich Text format. In
any case, pbpaste looks for the other formats if the preferred
one is not found. The txt option replaces the deprecated ascii
option, which continues to function as before. Both indicate a
preference for plain text.
Sin embargo (en mi experiencia con 10.6 Snow Leopard al menos), pbpaste -Prefer rtf
Nunca, nunca renuncie a los datos RTF incluso cuando existe en el cartón. ¿Hay alguna otra forma simple de obtener el texto RTF de lo que esté listo para ser pegado?
Probé Applecript, pero osascript -e 'the clipboard as «class RTF »'
Da la respuesta «data RTF 7B
tonelada de basura codificada con hex7D»
. ¿Puede AppleScript convertir este hexdata en texto con el que puedo jugar?
Solución
No puedo ver ninguna forma de hacerlo desde el interior de AppleScript, pero como estás trabajando en el shell de todos modos, solo lo procesaré: la "basura codificada con hexadecimal" son los datos RTF que deseas. El script más simple en el que puedo pensar es
perl -ne 'print chr foreach unpack("C*",pack("H*",substr($_,11,-3)))'
Una explicación: substr($_,11,-3)
elimina el «data RTF
y »\n
bits (cada uno de los Guillemets es dos bytes); pack("H*", ...)
Empaca datos codificados con hexadecimas en una transmisión de BytRestrEns; unpack("C*", ...)
Desempacan una transmisión en una matriz de valores de caracteres; print chr foreach ...
Convierte cada entero en la matriz a su carácter correspondiente y lo imprime; y el -ne
Las opciones evalúan el script dado para cada línea, con esa línea almacenada implícitamente en $_
. (Si desea ese script en su propio archivo, solo asegúrese de que la línea Shebang esté #!/usr/bin/perl -ne
.) Entonces, corriendo
osascript -e 'the clipboard as «class RTF »' | \
perl -ne 'print chr foreach unpack("C*",pack("H*",substr($_,11,-3)))'
le dará salida RTF sin procesar.
Otros consejos
Creo que al menos en OS X 10.8 esto funcionaría si copiara contenido HTML de Chrome:
osascript -e 'the clipboard as "HTML"'|perl -ne 'print chr foreach unpack("C*",pack("H*",substr($_,11,-3)))'
¿Qué tal:
$cred = Get-Credential -credential SP\spManager
New-SPManagedAccount -credential $cred
o
$user = "SP\spManager"
$pWord = ConvertTo-SecureString –String "Ecutbildning01" –AsPlainText -Force
$cred = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $user, $pWord
New-SPManagedAccount -credential $cred
Si necesita un centro de costos en la lista de información de usuario, debe marcarlo como replicable en la aplicación de servicio de perfil de usuario.Nunca uso la lista de información de usuario para estos tipos de soluciones, siempre uso la búsqueda, es significativamente más rápida y más escalable.
Tienes que:
- rastrear sus perfiles de usuario.
- Promover a la gente: propiedad de costo en una propiedad gestionada
- arrastra otra vez
- Usa la nueva propiedad administrada en una consulta para personas con el centro de costos deseado.