Al leer y experimentar por mí mismo, VBScript elimina todas las comillas dobles y el argumento. ¿Alguien sabe una forma de evitar esto? ¿Cómo pasar dobles comillas en el script?Comillas dobles en el argumento VBScript
Respuesta
Editar: entendido mal la pregunta tan nueva respuesta aquí:
No creo que se puede hacer eso de ninguna manera. Sin embargo, una solución podría ser usar la propiedad CommandLine
de la clase Win32_Process, que debería darle la línea de comando completa, creo.
Por ejemplo probar este script:
Set wmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set processes = wmi.ExecQuery("SELECT * FROM Win32_Process")
For Each proc in processes
If InStr(proc.CommandLine, "double quotes") > 0 Then
wscript.echo proc.CommandLine
End IF
Next
Con los parámetros como: "some long commandline enclosed in double quotes here"
Creo que @Dani significa como un parámetro para un script, es decir, 'cscript.exe test.vbs" parameter "' –
Lo que quiere decir: 'C: \> test.vbs" argument "'. – Ruel
@Ruel @oracle Gracias, mi error. –
Por desgracia, no sé cualquier método de escape para pasar entre comillas porque es un delimitador de argumento. Todo lo que puedo sugerir es que modifiques tu script o añadas las comillas desde allí.
no estoy seguro si esto funciona, pero al pasar el parámetro Creo que se puede hacer algo como -
chr(34) + <your argument string> + chr(34)
la CDH (34) significa comillas dobles.
Esto, desafortunadamente, solo hace que la cadena literal chr (34) aparezca como un parámetro (o parte de un parámetro). Por ejemplo, si el único parámetro es chr (34) + foo + chr (34), entonces el parámetro analizado será exactamente eso. – jveazey
@John L Veazey - Eso es exactamente lo que OP quiere de su pregunta ¿verdad? No entendí tu punto. Lo siento. –
Si ese parámetro requiere cotizaciones Se puede usar un parámetro llamado para identificarlo y luego encierre el valor con las comillas dobles
dim arg
if WScript.Arguments.Named.Exists("a") then
arg = WScript.Arguments.Named("a")
arg = chr(34) & arg & chr(34)
end if
e usados así:
cscript test.vbs /a:"a parameter"
pero esto doesn No ayuda si simplemente desea mantener las cotizaciones si se proporcionan. Las comillas simples son aceptadas, por lo que podría usar alternativamente comillas simples (u otro carácter/cadena) y hacer un Replace(arg, "'", chr(34))
para convertir a comillas dobles.
Este script obtendrá la línea de comandos tal como es, con comillas dobles y todo a una variable llamada strLine, y mostrarlo:
Set objSWbemServices = GetObject("WinMgmts:Root\Cimv2")
Set colProcess = objSWbemServices.ExecQuery("Select * From Win32_Process")
For Each objProcess In colProcess
If InStr (objProcess.CommandLine, WScript.ScriptName) <> 0 Then
strLine = Mid(objProcess.CommandLine, InStr(objProcess.CommandLine , WScript.ScriptName) + Len(WScript.ScriptName) + 1)
End If
Next
WScript.Echo(strLine)
Así ejecución que con:
cscript scriptname.vbs "option" ""other option"" third option
haría resultado en:
"option" ""other option"" third option
En lugar de comprobar que una línea de comando incluya WScript.ScriptName, puede g et el PID actual como en https://stackoverflow.com/a/13212628/1752986
- 1. Powershell y una ruta como argumento delimitado por comillas dobles
- 2. comillas dobles vs comillas simples en JavaScript
- 3. comillas dobles en json devuelto
- 4. escapar comillas dobles en Java
- 5. Regex.Matches C# comillas dobles
- 6. ¿JSON.parse() requiere comillas dobles?
- 7. Manejo de comillas dobles en mailto:
- 8. Diferencia entre comillas simples y comillas dobles en Javascript
- 9. Diferencia entre '(comillas simples) y "(comillas dobles) en ASP.NET 4
- 10. comillas simples y dobles php
- 11. escriben entre comillas dobles en pitón
- 12. Javascript: Escape de comillas dobles en HTML
- 13. Variables estáticas PHP en comillas dobles
- 14. Escape comillas dobles en VB string
- 15. individuales vs comillas dobles en JSON
- 16. Comillas dobles en la expresión regular
- 17. comillas dobles de escape en grep
- 18. Escape comillas dobles para JSON en Python
- 19. El uso de comillas dobles en un valor 'input type =' text '' no funciona, ¡la cadena se detiene en comillas dobles!
- 20. Escape solo comillas simples (deje comillas dobles) con htmlspecialchars()
- 21. ¿Comillas simples o comillas dobles para concatenación variable?
- 22. ¿Cómo puedo reemplazar las comillas dobles con comillas simples
- 23. Cómo escapar comillas dobles en el atributo de título
- 24. Obtener str repr con comillas dobles Python
- 25. PHP Ajustar una cadena entre comillas dobles
- 26. C# String.Sustituir comillas dobles y literales
- 27. Javascript reemplazar las comillas dobles con barra
- 28. json error de análisis con comillas dobles
- 29. ASP - Quitar comillas dobles de una cadena
- 30. Eliminar comillas dobles de la cadena
¿quiere decir en Windows Script Host? –