Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - pmabres

#1
pude solucionarlo!... un poco rústico pero pude jeje... dejo el codigo por las dudas


@echo off
setlocal enabledelayedexpansion
for %%p in (C:\MB\DATOS\MB\Insert\orig\*.sql) do (
set nombre=%%~np
type %%~fp > temp.txt
for /f "tokens=* delims=" %%x in ('type temp.txt') do (
set linea=%%x
set linea=!linea:INSERT INTO=INSERT INTO TMP_%%~np!
call :show !linea!
))
goto:eof
:show
echo %* >> C:\MB\DATOS\MB\insert\temp\%nombre%.sql
goto:eof



lo que hice fue crear un archivo temporal, que luego se borrará
#2

@echo off
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%x in ('type C:\MB\DATOS\MB\insert\final\*.sql') do (
for %%p in (C:\MB\DATOS\MB\Insert\final\*.sql) do (
set nombre=%%~np
set linea=%%x
set linea=!linea:INSERT INTO=INSERT INTO TMP_%%~np!
call :show !linea!
))
goto:eof
:show
echo %* >> C:\MB\DATOS\MB\insert\%nombre%.sql
goto:eof

con esto estaria solucionado el tema del nombre del archivo....

el tema es que inserta dos veces los datos en el mismo file... no saben como peudo hacer para solucionar esto?

ya se que hace dos veces el for, pero no encuentro la manera de sacar el nombre del archivo actual, y de usar el type para meter los datos en una variable
#3
bueno pude hacer lo que queria pero lo que no puedo hacer ahora es cambiar el texto que quiero reemplazar por el texto que quiero reemplazar + una variable "que toma el nombre del archivo"

aca esta mi codigo....


@echo off
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%x in ('type C:\MB\DATOS\MB\insert\*.sql') do (
for %%p in (C:\MB\DATOS\MB\Insert\*.sql) do (
set nombre=%%~np
set linea=%%x
set linea=!linea:INTO=INTO %nombre%!
call :show !linea!
))
goto:eof
:show
echo %nombre%
pause
echo %* >> C:\MB\DATOS\MB\insert\%nombre%.sql
goto:eof

#4
Buenas... estoy en el trabajo intentando hacer un script para insertar datos desde archivos .dbf en una base de datos oracle... desde esos dbf puedo generar dos archivos .sql (uno que trae la creacion de tablas y otro que trae los inserts a hacer)... el problema que tengo ahora es que los insert deberian llevar el nombre de la tabla luego de la instruccion "insert into"... pero no hay nada. Casualmente el nombre de cada tabla es el nombre del archivo en donde se encuentra cada insert pero sin la extension .sql
mi pregunta es...
como hago para poner el nombre del archivo mismo en el que esta cada insert, luego de cada instruccion insert into