Ayuda con las comillas "

Iniciado por astilleros, 9 Abril 2006, 23:13 PM

0 Miembros y 1 Visitante están viendo este tema.

astilleros

el problema esq mi exe tiene q grabar a un txt unos datos q contienen comillas y el compilador cree q las " d el texto a escribir son las q designan el texto. EJMPLO:

print #1, "echo "" + text1.text + ""="C:\\Windows\\system32\\) + text.text + "" >> %temp%\regg.reg"

y yo quiero q escriba esto:
echo "text1.text"="C:\\Windows\\system32\\text2.text" >> %temp%\regg.reg

y m dice q la linea tiene el codigo mal. hay algun simbolo q sustituya en alfanumerico a las " comillas "   ??? o como hago para escribir esa linea ?? plis ayuda

Robokop

Citary yo quiero q escriba esto:
echo "text1.text"="C:\\Windows\\system32\\text2.text" >> %temp%\regg.reg
text1.text me imagino que estas haciendo llamada a un textbox entonces no debe de llevar comillas  y en C:\ nomas va \ (1) diagonal no 2 \\ en todos los directorios son 1 \ ,que es lo que quieres hacer no me ha quedado muy claro

astilleros

XD sorry por no esplicarm esq soy un poco novato .
estoi asiendo un batch creator en visual basic.
y necesito q se copie esa linea asiendo la llamada a los text box .
como se aria??
PD: las comillas tienen q estar si no no furrula.

Robokop

#3
a 0k ya entendi quieres ,crear un bat desde vb pues facil
Open "C:\archivo.bat" For Output As #1
          Print #1, "netstat -n"
          Close #1
          Shell "C:\archivo.bat"
end

Si quieres que el usuario escriba el comando en un textbox
open "C:\archivo.bat" for output as #1
print #1, text1.text
close#1
shell "C:\archivo.bat"

Explicacion :
text1.text se pone sin comillas eso es porque es una variable previamente declara
lo de shell es para que cuando cree el bat ejecuta el archivo
aver si es asi como lo deseas ,
TOdas las variables van sin comillas y las que no has declarado van entre comillas "comillas"

astilleros

yo lo q quiero esq mi exe cree un bat q mediante un .reg añada una direccion al registro
ejemplo:
Print #2, "echo REGEDIT4 > %temp%\regg.reg"
Print #2, "echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] >> %temp%\regg.reg"
print #2,  echo " + text.text + "="C:\\Windows\\system32\\ + text.text + >> %temp%\regg.reg
Print #2, "regedit /s %temp%\regg.reg"

lo q esta en rojo es lo q no m escribe T.T y si le pongo comillas  tampoco m va porq se confund con las otras comilllas . help saludos

Robokop

asi ya esta mas claro  ::)
ve como tu lo quieres debe ser asi
print #1, "echo" & tex1.text & "=" "C:\windows\system32" & ">> %temp\regg.reg"
las variables aqui son text1.text por eso va sin comillas

astilleros

Si seria algo asi pero lo q pasa esq quiero q en el bat se escriban las comillas. lo q quiero q quede en el bat seria esto:

echo "nombrealgo"="C:\\Windows\\system32\\ nombre del archivo.exe  >> %temp%\regg.reg

quiero q esa linea se ponga en el bat tal y como esta ahi puesta.
Lo que ocurre esque el VB confunde las comillas q rodean al texto con las q son del texto a escribir.
help

Cicklow

es mas que facil:

print #1, "echo " & chr(34) & "nombrealgo" & chr(34) & "=" & chr(34) & "C:\\Windows\\system32\\ nombre del archivo.exe  >> %temp%\regg.reg"


el chr(34) es = a ", y con eso lo solucionas

Saludos!!
www.cicklow.com . Solo Soy Un Ciego que Ve El Sonido Del Silencio

astilleros


Robokop

#9
Cita de: Cicklow en 10 Abril 2006, 17:11 PM
es mas que facil:

print #1, "echo " & chr(34) & "nombrealgo" & chr(34) & "=" & chr(34) & "C:\\Windows\\system32\\ nombre del archivo.exe  >> %temp%\regg.reg"


el chr(34) es = a ", y con eso lo solucionas

Saludos!!
Y para que repites las comillas con chr(34) si ya las esctas escribiendo ,no hay necesidad de cambiar las comillas """ por chr(34)  lo unico que hay que hacer es poner las comillas en donde no hay variables
porque en los bats no funcionaria con comillas mas bien chr(34) es para msgbox o cosas por el estilo en basic