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ú

Temas - rochro

#1
Hola a todos,

trato de generar un batch que realice lo siguiente:

- copiar archivos de origen a destino, donde los archivos son IMG_001, MUS_020, VID_002, IMG_021, FIL_010, etc... (todos con el mismo formato)

1. ingresar cantidad: me refiero a la cantidad de fomatos ej. sólo IMG y FIL.
2. ingresar los nombres de los archivos (recordar que tienen un formato. Va de a cuerdo a la cantidad anterior)
3. ingresar destino
4. La forma en que copiará los archivos son:
crea carpeta numero 001 (archivo IMG_001), dentro de la carpeta anteriormente creada, crea IMG y dentro de esta carpeta estará el archivo.

he estado avanzando un poquito. Espero su ayuda.

@echo off
set /p n=Introducir cantidad:
FOR %%i in (1,1,n) do (
set /p nom_erp=Introducir nombre de ERP: %%i
)
set /p destino=Ingresar ruta destino:

cd %destino%

pause
exit
#2
Hola,

Quisiera cambiar una letra o letras del nombre de un archivo.
Ejem:
nuevoarchivo.txt a nue_archivo.txt

tengo este código, el cual se que le falta algo para cumplir con el propósito.

Código (bash) [Seleccionar]
@echo off
cls
echo Renombrar nombre de archivo PI04...
for %%i in (*.txt) do (set fname=%%~ni) & call :renamefile
goto :eof

:renamefile
ren "%fname%.txt" "%fname/vo/_%.txt"
pause
cls
goto :eof


gracias por el apoyo.
#3
Hola a todos.

Quisiera saber si hay alguna forma de colocar contraseña a varios archivos pdf (por lotes). Imagino que con algunos comandos que desconozco se podrá ya que he visto que en algunas entidades (bancos) envian el estado de cuenta en archivo pdf con contraseña (numero de dni del propietario).

Espero su pronta respuesta y puedan despejar mi gran duda.

Gracias.

:D

Mod: No escribir en mayúsculas
#4
Hola a todos, quisiera que me ayuden en poder adaptar el código para lo siguiente:

simulación calendario

ver contenido:  http://gps.topografia.upm.es/www/calactal.htm

tengo este codigo:

Código (vbnet) [Seleccionar]

Private Sub DateTimePicker1_ValueChanged(sender As Object, e As EventArgs) Handles DateTimePicker1.ValueChanged

        Dim vDia As String = DateTimePicker1.Value.Day
        Dim vMes As String = DateTimePicker1.Value.Month
        Dim vAño As String = DateTimePicker1.Value.Year

        txtday.Text = Juliandate(DateTimePicker1.Value)

    End Sub

Public Function Juliandate(ByVal dtdate As Date) As Integer

        Dim dtfirstmonthDAY As Date
        Dim dttimepicker As Date

        dtfirstmonthDAY = DateSerial(Year(dtdate), 1, 1)
        dttimepicker = dtdate
        Return CInt(DateDiff(DateInterval.Day, dtfirstmonthDAY, dttimepicker)) + 1

    End Function

Friend ReadOnly GPSDictionary As Dictionary(Of Integer, Integer) = Me.GetGPSDictionary

    Private Function GetGPSDictionary() As Dictionary(Of Integer, Integer)

        Dim ThisYear As Integer = vAño
        Dim DaysInThisYear As Integer = (From month As Integer In Enumerable.Range(1, 12)
                                         Select DateTime.DaysInMonth(ThisYear, month)).Sum
        Dim GPSWeeks As IEnumerable(Of Integer) = Enumerable.Range(1773 - 1, 1825)
        Dim Result As New Dictionary(Of Integer, Integer)
        For Day As Integer = 1 To DaysInThisYear
            Result.Add(Day, GPSWeeks(DatePart(DateInterval.WeekOfYear,
                                              New DateTime(ThisYear, 1, 1).AddDays(Day - 1))))
        Next Day
        Return Result

    End Function


La observación está en la elección de años diferentes. Se que se le está poniendo un limite 1773 a 1825 que corresponde al 2014 pero que podria hacer en caso que quisiera otro año. Que otra lógica se podría pensar.

Gracias por su apoyo.


:-*
 
#5
Hola a todos!

No se si voy a lograr que me entiendan pero haré lo posible.

Quisiera que me ayuden en resolver una aplicación donde al escribir en varios textbox se guarde por más que se cierre la aplicación donde al volver a abrir la aplicación aparezca lo ultimo que se introdujo en los textbox. Mi idea es que en vez que se trabaje con base de datos sólo se cree un archivo txt oculto donde guarde esas ultimas entradas de la aplicación.
El problema es que como soy bien básica en programación, no se me ocurre como hacerlo.

Espero su ayuda.

Gracias.

:)
#6
Buen día a todos, quisiera que me apoyen en poder ver cual es mi error ya que al momento de ejecutar la app se marca error en la linea txtResults.Text = SR.ReadToEnd.
La idea es que en vez que se muestre en la ventana del cmd, figure en el cuadro de texto txtResults y sería mucho mejor si fuera continuo o sea el resultado de ping 127.0.0.1 -t figure en el cuadro de texto.

Código (vbnet) [Seleccionar]
Private Sub btnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSend.Click
        Dim CMDThread As New Threading.Thread(AddressOf CMDAutomate)
        CMDThread.Start()
    End Sub
    Private Sub CMDAutomate()
        Dim PROCESO As New Process
        Dim INFO As New System.Diagnostics.ProcessStartInfo
        INFO.FileName = "cmd"
        INFO.RedirectStandardInput = True
        INFO.RedirectStandardOutput = True
        INFO.UseShellExecute = False
        PROCESO.StartInfo = INFO
        PROCESO.Start()
        Dim SR As System.IO.StreamReader = PROCESO.StandardOutput
        Dim SW As System.IO.StreamWriter = PROCESO.StandardInput
        Dim comandoping As String = String.Concat("ping ", TextBox1.Text, ".", TextBox2.Text, ".", TextBox3.Text, ".", TextBox4.Text)
        SW.WriteLine(comandoping)
        SW.WriteLine("exit")
        txtResults.Text = SR.ReadToEnd
        SW.Close()
        SR.Close()
    End Sub


Gracias por todo. Saludos.
#7
.NET (C#, VB.NET, ASP) / REDUCIR CÓDIGO.NET
7 Julio 2014, 23:08 PM
Hola a todos!
Estoy realizando una aplicación donde el cual tiene 3 botones en donde se ejecutan diferentes comandos en cada botón a un mismo archivo (la aplicación es un convertidor). La aplicación ya esta hecha, lo que pasa es que se repite el código varias veces, entonces quisiera saber como podría hacer para que  se realizo el evento click en tal botón entonces ejecutar cierto comando.

No se si me dejo entender. Pero de todas maneras adjuntaré el código completo.

pd. Mi problema también está en que no imprime en archivo de texto.

Código (vbnet) [Seleccionar]
Imports System
Imports System.IO
Imports System.IO.StreamWriter

Public Class Form1
   Inherits System.Windows.Forms.Form

   Private Results As String
   Private Delegate Sub delUpdate()
   Private Finished As New delUpdate(AddressOf UpdateText)

   Private Sub btnexaminar_Click(sender As Object, e As EventArgs) Handles btnexaminar.Click
       Dim Dir As New FolderBrowserDialog
       If Dir.ShowDialog = Windows.Forms.DialogResult.OK Then
           TextBox1.Text = Dir.SelectedPath
       End If
   End Sub

   Private Sub btndat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btndat.Click
       Dim midirectorio As String = TextBox1.Text
       Dim CMDThread As New Threading.Thread(AddressOf CMDAutomate)
       If midirectorio = "" Then
           MessageBox.Show("Debe seleccionar la ruta donde se encuentra la data", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error)
       Else
           My.Computer.FileSystem.CopyFile("C:\Program Files\convert data\runpkr00.exe", midirectorio & "\runpkr00.exe", Microsoft.VisualBasic.FileIO.UIOption.OnlyErrorDialogs, Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
       End If
       CMDThread.Start()
       

   End Sub
   Private Sub CMDAutomate()
       Dim midirectorio As String = TextBox1.Text
       Dim myprocess As New Process
       Dim StartInfo As New System.Diagnostics.ProcessStartInfo
       StartInfo.FileName = "cmd"
       StartInfo.RedirectStandardInput = True
       StartInfo.RedirectStandardOutput = True
       StartInfo.UseShellExecute = False
       StartInfo.CreateNoWindow = True
       myprocess.StartInfo = StartInfo
       myprocess.Start()
       Dim SR As System.IO.StreamReader = myprocess.StandardOutput
       Dim SW As System.IO.StreamWriter = myprocess.StandardInput
       Dim comando As String
       Dim cmdir As String
       Dim nombre As String

       For Each file As String In My.Computer.FileSystem.GetFiles(midirectorio, FileIO.SearchOption.SearchTopLevelOnly, "*.T01")

           nombre = My.Computer.FileSystem.GetName(file)
           cmdir = "cd " & midirectorio
           comando = "runpkr00.exe -d -s " & nombre
           SW.WriteLine(cmdir)
           SW.WriteLine(comando)
           'Results = SR.ReadToEnd
           'SW.Close()
           'SR.Close()
           'Invoke(Finished)
           MessageBox.Show("Conversión a DAT culminada." & vbNewLine & "Data: " & nombre, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
       Next
       Results = SR.ReadToEnd
       SW.Close()
       SR.Close()
       Invoke(Finished)

   End Sub

   Private Sub UpdateText()

       'If Me.InvokeRequired = False Then
       Dim midirectorio As String = TextBox1.Text
       Dim strStreamW As Stream = Nothing
       Dim strStreamWriter As StreamWriter = Nothing
       Dim fecha As String = DateTime.Now.ToString("dd MMM HHmmss")
       Dim rutarchivo As String = String.Concat(midirectorio, "log-", fecha & ".txt")
       Windows.Forms.Cursor.Current = Cursors.WaitCursor
       strStreamW = File.Create(rutarchivo)
       strStreamWriter = New StreamWriter(strStreamW, System.Text.Encoding.Default)
       strStreamWriter.WriteLine(Results)
       strStreamWriter.Close()
       ' Else
       '  Dim D As delUpdate = New delUpdate(AddressOf UpdateText)
       ' Me.Invoke(D)
       ' End If
   End Sub

   Private Sub btnrinex_Click(sender As System.Object, e As System.EventArgs) Handles btnrinex.Click
       Dim midirectorio As String = TextBox1.Text
       Dim CMD As New Threading.Thread(AddressOf CMDAutomaterin)
       If midirectorio = "" Then
           MessageBox.Show("Debe seleccionar la ruta donde se encuentra la data", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error)
       Else
           My.Computer.FileSystem.CopyFile("C:\Program Files\convert data\teqc.exe", midirectorio & "\teqc.exe", Microsoft.VisualBasic.FileIO.UIOption.OnlyErrorDialogs, Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
       End If
       CMD.Start()
   End Sub


   Friend ReadOnly GPSDictionary As Dictionary(Of Integer, Integer) = Me.GetGPSDictionary
   Private Function GetGPSDictionary() As Dictionary(Of Integer, Integer)

       Dim ThisYear As Integer = Now.Year
       Dim DaysInThisYear As Integer = (From month As Integer In Enumerable.Range(1, 12)
                                        Select DateTime.DaysInMonth(ThisYear, month)).Sum
       Dim GPSWeeks As IEnumerable(Of Integer) = Enumerable.Range(1773 - 1, 1825)
       Dim Result As New Dictionary(Of Integer, Integer)

       For Day As Integer = 1 To DaysInThisYear
           Result.Add(Day, GPSWeeks(DatePart(DateInterval.WeekOfYear,
                                             New DateTime(ThisYear, 1, 1).AddDays(Day - 1))))
       Next Day

       Return Result
   End Function

   Private Sub CMDAutomaterin()
       Dim midirectorio As String = TextBox1.Text
       Dim myprocess As New Process
       Dim StartInfo As New System.Diagnostics.ProcessStartInfo
       StartInfo.FileName = "cmd"
       StartInfo.RedirectStandardInput = True
       StartInfo.RedirectStandardOutput = True
       StartInfo.UseShellExecute = False
       StartInfo.CreateNoWindow = True
       myprocess.StartInfo = StartInfo
       myprocess.Start()
       Dim SR As System.IO.StreamReader = myprocess.StandardOutput
       Dim SW As System.IO.StreamWriter = myprocess.StandardInput
       Dim comandodat As String
       Dim comandorin As String
       Dim cmdir As String
       Dim nombre As String
       Dim renombre As String

       For Each file As String In My.Computer.FileSystem.GetFiles(midirectorio, FileIO.SearchOption.SearchTopLevelOnly, "*.T01")

           nombre = Path.GetFileNameWithoutExtension(file)
           renombre = Microsoft.VisualBasic.Left(nombre, Len(nombre) - 2) & "0"
           Dim DayOfYear As Integer = Mid(nombre, 5, 3)
           Dim semgps As Integer = Me.GPSDictionary(DayOfYear)

           cmdir = "cd " & midirectorio
           comandodat = "runpkr00.exe -g -d " & nombre & ".t01"
           comandorin = "teqc.exe +nav " & renombre & ".14n -O.int 5 -O.dec 5 -O.ag IGN-PERU -O.o CPG -week " & semgps & " -tr d " & nombre & ".tgd> " & renombre & ".14o"
           SW.WriteLine(cmdir)
           SW.WriteLine(comandodat)
           SW.WriteLine(comandorin)
           'Results = SR.ReadToEnd
           ' SW.Close()
           'SR.Close()
           'Invoke(Finished)
           MessageBox.Show("Conversión a RINEX culminada." & vbNewLine & "Data: " & nombre, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
       Next
       Results = SR.ReadToEnd
       SW.Close()
       SR.Close()
       Invoke(Finished)

   End Sub



   Private Sub btntqc_Click(sender As Object, e As EventArgs) Handles btntqc.Click
       Dim midirectorio As String = TextBox1.Text
       Dim CMD As New Threading.Thread(AddressOf CMDAutomateqc)
       If midirectorio = "" Then
           MessageBox.Show("Debe seleccionar la ruta donde se encuentra la data", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error)
       Else
           My.Computer.FileSystem.CopyFile("C:\Program Files\convert data\teqc.exe", midirectorio & "\teqc.exe", Microsoft.VisualBasic.FileIO.UIOption.OnlyErrorDialogs, Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
       End If
       CMD.Start()
   End Sub

   Private Sub CMDAutomateqc()
       Dim midirectorio As String = TextBox1.Text
       Dim myprocess As New Process
       Dim StartInfo As New System.Diagnostics.ProcessStartInfo
       StartInfo.FileName = "cmd"
       StartInfo.RedirectStandardInput = True
       StartInfo.RedirectStandardOutput = True
       StartInfo.UseShellExecute = False
       StartInfo.CreateNoWindow = True
       myprocess.StartInfo = StartInfo
       myprocess.Start()
       Dim SR As System.IO.StreamReader = myprocess.StandardOutput
       Dim SW As System.IO.StreamWriter = myprocess.StandardInput
       Dim comandorin As String
       Dim cmdir As String
       Dim nombre As String
       Dim renombre As String

       For Each file As String In My.Computer.FileSystem.GetFiles(midirectorio, FileIO.SearchOption.SearchTopLevelOnly, "*.T01")

           nombre = Path.GetFileNameWithoutExtension(file)
           renombre = Microsoft.VisualBasic.Left(nombre, Len(nombre) - 2) & "0"

           If System.IO.File.Exists(midirectorio & "\" & renombre & ".14n") And System.IO.File.Exists(midirectorio & "\" & renombre & ".14o") Then
               cmdir = "cd " & midirectorio
               comandorin = "teqc.exe -nav " & renombre & ".14n +qc " & renombre & ".14o"
               SW.WriteLine(cmdir)
               SW.WriteLine(comandorin)
               'Results = SR.ReadToEnd
               'SW.Close()
               'SR.Close()
               'Invoke(Finished)
               MessageBox.Show("Quality Check." & vbNewLine & "Data: " & nombre, "Información", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
           Else
               MessageBox.Show("Se necesitan de los archivos RINEX (14n y 14o)" & vbNewLine & "Solución: Clic en el Botón RINEX.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1)
           End If
       Next
       Results = SR.ReadToEnd
       SW.Close()
       SR.Close()
       Invoke(Finished)

   End Sub
#8
.NET (C#, VB.NET, ASP) / ARREGLOS VISUAL.NET
27 Junio 2014, 23:38 PM
Hola, soy nueva con lo que es el desarrollo pero estoy intentando en que me salga un simulador de semana gps (referencia:  http://gps.geo.upm.es/www/calactal.htm) donde al colocar el día (del 1 al 365) me bote como resultado la semana gps que le corresponde: ejem:  034 corresponde a 1778. El código que generé y el cual no me funciona, es el siguiente:


           
Código (vbnet) [Seleccionar]
Dim semanagps As Integer
            Dim i As Integer = textbox1.text
            Dim numdia(i) As Integer
         
            numdia(0) = Nothing   
            numdia(1) = 1773          'si nos fijamos en el calendario la semana 1773
            numdia(2) = 1773          'tiene del día 1 al 4 y las demás semanas tendrán
            numdia(3) = 1773          'los siete días que comprende la semana, es por
            numdia(4) = 1773          'ello que genero el for.
            For i = 5 To 365 Step 1
                For k = 1773 To 1825 Step 1
                   For j = 1 To 7 Step 1
                       numdia(i) = k + 1
                    Next
                Next
            Next

            semanagps = numdia(i)


De repente mi lógica esta mal, quisiera que me apoyen por favor.

Gracias de antemano.


#9
Hola a todos. Estoy intentando correr el cmd a través de un formulario pero no puedo realizar lo de comandos multiples.

Código (vbnet) [Seleccionar]
If My.Computer.FileSystem.FileExists(midirectorio & "\runpkr00.exe") Then

           Dim archivo = My.Computer.FileSystem.GetFiles(midirectorio, FileIO.SearchOption.SearchAllSubDirectories, "*.t01")
           For Each file As String In archivo
               'Dim archivo = My.Computer.FileSystem.GetFileInfo(File)

               Dim comando As String
               Dim cmdir As String
               cmdir = "cd " & midirectorio
               comando = "runpkr00.exe -d " & file & ".t01"
               Shell("cmd.exe /k" + cmdir + comando)  
           next
end if


como resultado me da:

El nombre de archivo, el nombre de directorio o la sintaxis de la etiqueta del volumen no son correctos.
C:\Users\rchaconr\Documents\Visual Studio 2013\Projects\CONVERSOR DATOS GPS\CONV
ERSOR DATOS GPS\bin\Debug>

y lo que deseo es que se ejecute

> cd midirectorio
c:\midirectorio>runpkr00.exe -d archivo.t01



Espero que me puedan entender y tener un poco de su ayuda. Muchas gracias
#10
Hola a todos, quisiera apoyo con este codigo. Soy principiante en programacion y trato de entender.

La fin de este código es que tiene que ejecutar un programa (runpkr) a través de un comando por consola en todos los archivos que esten ubicados en la carpeta.

ejem:

DIRECTORIO
  - archivo1.t01
  - archivo2.t01

comando a ejecutar por consola en cada archivo:  runpkr00 -d archivo1.t01

Código (vb) [Seleccionar]
Dim midirectorio As String = TextBox1.Text
       If midirectorio = "" Then
           MessageBox.Show("Debe seleccionar la ruta donde se encuentra la data", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error)
       Else

           Try

               My.Computer.FileSystem.CopyFile(
                "C:\Program Files\convert data\runpkr00.exe",
                midirectorio & "\runpkr00.exe",
               Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
                Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
           Catch ex As Exception
               MsgBox(ex.Message.ToString, MsgBoxStyle.Critical)

           End Try
           If My.Computer.FileSystem.FileExists(midirectorio & "\runpkr00.exe") Then
               For Each Archivo As String In My.Computer.FileSystem.GetFiles(midirectorio, FileIO.SearchOption.SearchAllSubDirectories, "*.t01")
                   Console.WriteLine("runpkr00.exe -d" & Archivo)
               Next
           End If

       End If


Se que algo esta mal. Quisiera su apoyo.


Gracias. =)
#11
Scripting / AYUDA! CODIFICAR VBSCRIPT
3 Abril 2014, 00:41 AM
Buenas tardes,

Necesito realizar un procedimiento donde sucede lo siguiente:

- Tengo una carpeta con varios archivos donde los nombres son similares, sólo cambian los dígitos (ABCD001aA.T01, ABCD002aA.T01, CDEF003aA.T01, CDEF004aA.T01,...)
- Capturar en una variable los 3 dígitos del archivo (001, 002, 003,..) para que luego se relacione con el numero de 4 dígitos correspondientes (ejem: si es 003 imprimir 1773)

RELACION:
001   1773
002   1773
003   1773
004   1773
005   1774
006   1774
007   1774
008   1774
009   1774
010   1774
011   1774
012   1775
013   1775
014   1775
015   1775
016   1775
017   1775
018   1775
019   1776
.
.
364   1825
365   1825


Espero su pronta ayuda.


Gracias.
#12
Scripting / UTILIZAR ARRAYS CON VBSCRIPT
20 Marzo 2014, 21:45 PM
Hola, lamento no haber explicado mejor pero aquí voy.

Quiero generar un código donde realice solo con los archivos de una determinada extensión (*.zxc) la captura de los 3 dígitos del nombre de archivo (002), lo guarde en una variable y busque en el array de datos el numero de 4 dígitos correspondiente para luego imprimirlo.

ejemplo:

Directorio con varios archivos similares donde solo cambia los 3 números.
  ABCD002ab.zxc (todos los archivos tienen la misma cantidad de dígitos)
  ABCD010ab.zxc
  ABCD065ab.zxc
   ... etc

arreglo:
          002 = 1773
          003 = 1773
          004 = 1773
          005 = 1774
          006 = 1774
          007 = 1774
          ...
          0061= 1792
          0062= 1792
          0063= 1792
          ...etc


Espero haberme hecho entender mejor.

PD. El código seria en vbscript
#13
Buen día,
Tengo una PC con una tarjeta de video integrada y otra dedicada, lo que pasa es que al momento de querer utilizar las dos tarjetas como resultado tengo que con una si se ve la imagen y la otra no. Antes si podía utilizarlo pero después de formatear la Pc ya no (SO W8 a W7).


Espero su ayuda.

Muchas gracias de antemano.


--
Rossmery Chacon.
#14
Soy nueva en esto y quisiera ayuda en poder crear un script donde me pueda capturar el nombre del archivo (incluyendo extensión), lo almacene en una variable y así poder ejecutar una tarea en cada uno de ellos generando un bucle.

EJEM:
D:\archivos
--->X.t01
   subdirectorio
--->Y.t01
   subdirectorio
--->Z.t01

la tarea a ejecutar seria --> runpkr00 -d nombredelarchivo.t01 (se necesita ejecutar el programa en cada uno de los archivos)


Espero haberme hecho entender. Gracias de antemano.

Saludos.

--
Rossmery Chacón