elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Crear directorio del mes actual en BAT
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: Crear directorio del mes actual en BAT  (Leído 21,333 veces)
Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.166


Cheats y Trainers para todos!


Ver Perfil WWW
Re: Crear directorio del mes actual en BAT
« Respuesta #10 en: 9 Octubre 2015, 17:26 pm »

Me haz dejado loco jajajajaja.

Gracias mil.

Pensé en hacerlo en VB.net.

Voy a darle por allí a ver que logro.

Te podré contactar por este hilo o abro uno nuevo?

Utiliza éste

Mi codigo es VBS, copia y pega todo el codigo en un "bloc de notas" (notepad) y guarda el contenido con el nombre que desees, pero asegúrate de guardarlo con la extensión .vbs al final. Le das doble-click y lo pruebas.

Verás que he implementado las opciones 1, 2 y 3. Falta la 4 que es un poco más compleja. Necesitarás saber el formato de nombres EXACTO que se utiliza en las carpetas existentes, hacer un Mid() para leer la posición del mes en el nombre, comparar y luego llamar a la función CopyFolder o MoveFolder del objeto oFSO

Si tienes dudas pregunta por aquí mismo


En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
elqueteconte

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Crear directorio del mes actual en BAT
« Respuesta #11 en: 9 Octubre 2015, 23:24 pm »

Saludos Mad;

Gracias mil de nuevo, me puse a investigar y encontré el vbsedit que es un editor para vbs y funciona al pelo.

Te confieso que no soy programador nato así que me estoy rompiendo el coco para ver como logro llevar el concepto al código.

Pues estoy claro en lo que necesito pero no se como aplicarlo, googleando encontré este script:

Código:
Dim fso, folder, subFlds, fld, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(path)
Set subFlds = folder.SubFolders
s = ""
For Each fld in subFlds
   s = s & fld.name
   s = s & "<br />"
Next
ShowFolderList = s

Pero cuando se ejecuta la instrucción
Código:
Set folder = fso.GetFolder(path) 
me da error de Acceso Denegado.

Teoricamente este me lista las carpetas que estan al mismo nivel de donde se está ejecutando el script, luego de esto debo mover las carpetas hacia la carpeta creada. El asunto es que las carpetas a mover deben corresponder al mes de la carpeta que se creo.

De pana que mil gracias por la ayuda hermano...


En línea

Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.166


Cheats y Trainers para todos!


Ver Perfil WWW
Re: Crear directorio del mes actual en BAT
« Respuesta #12 en: 9 Octubre 2015, 23:29 pm »

Te veo perdido jejeje, pero al menos veo que te has buscado las castañas y no vas mal encaminado.

Estoy en una partida de league of legends, dame 30 minutos y te respondo con el codigo correcto
En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
elqueteconte

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Crear directorio del mes actual en BAT
« Respuesta #13 en: 9 Octubre 2015, 23:48 pm »

Perdido no perdidisimo jajajajajaja.

Se lo necesito, lo que no se es como hacerlo....

Gracias pana....
En línea

Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.166


Cheats y Trainers para todos!


Ver Perfil WWW
Re: Crear directorio del mes actual en BAT
« Respuesta #14 en: 10 Octubre 2015, 00:44 am »

Me haz dejado loco jajajajaja.

Gracias mil.

Pensé en hacerlo en VB.net.

Voy a darle por allí a ver que logro.

Te podré contactar por este hilo o abro uno nuevo?

Aquí lo tienes

Código
  1. Set oFSO = CreateObject("Scripting.FileSystemObject")
  2.  
  3. iMes = InputBox("Introduce el mes: ")
  4.  
  5. If isNumeric(iMes) = False Then
  6. While isNumeric(iMes) = False
  7. MsgBox "Solo se permiten valores numéricos", vbExclamation + vbOkOnly
  8. iMes = InputBox("Introduce el mes: ")
  9. Wend
  10. End If
  11.  
  12. If iMes < 1 Or iMes > 12 Then
  13. While iMes < 1 Or iMes > 12
  14. MsgBox "Solo se permiten valores numéricos entre 1 y 12", vbExclamation + vbOkOnly
  15. iMes = InputBox("Introduce el mes: ")
  16. Wend
  17. End If
  18.  
  19. Select Case iMes
  20. Case 1
  21. sMes = "Enero"
  22. Case 2
  23. sMes = "Febrero"
  24. Case 3
  25. sMes = "Marzo"
  26. Case 4
  27. sMes = "Abril"
  28. Case 5
  29. sMes = "Mayo"
  30. Case 6
  31. sMes = "Junio"
  32. Case 7
  33. sMes = "Julio"
  34. Case 8
  35. sMes = "Agosto"
  36. Case 9
  37. sMes = "Septiembre"
  38. Case 10
  39. sMes = "Octubre"
  40. Case 11
  41. sMes = "Noviembre"
  42. Case 12
  43. sMes = "Diciembre"
  44. End Select
  45.  
  46. sFolder = sMes & Year(Now)
  47.  
  48. If oFSO.FolderExists(sFolder) = True Then
  49. MsgBox "La carpeta " & sFolder & " ya existe", vbInformation + vbOkOnly
  50. Else
  51. MsgBox "La carpeta " & sFolder & " no existe", vbInformation + vbOkOnly
  52. oFSO.CreateFolder(sFolder)
  53. End If
  54.  
  55. Parent = oFSO.GetParentFolderName(WScript.ScriptFullName)
  56.  
  57. Set Folder = oFSO.GetFolder(Parent)
  58. Set SubFolder = Folder.SubFolders
  59. For Each SubFolders in SubFolder
  60. If isNumeric(SubFolders.Name) = True Then
  61. If Len(SubFolders.Name) = 8 Then
  62. If CInt(Mid(SubFolders.Name, 5, 2)) = CInt(iMes) Then
  63. Call oFSO.MoveFolder(Parent & "\" & SubFolders.Name, Parent & "\" & sFolder & "\" & SubFolders.Name)
  64. End If
  65. End If
  66. End If
  67. Next
  68. msgbox "Script finalizado"

Funciona si la estructura de carpetas es "AÑO MES DIA", por ejemplo:

20150327

El Script, después de introducir 3 (marzo) te moverá las carpetas cuyo nombre sea xxxx03xx dentro de Marzo2015

Lee las líneas, se entienden solas.
En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Crear directorio del mes actual en BAT
« Respuesta #15 en: 10 Octubre 2015, 04:56 am »

Pensé en hacerlo en VB.net.

El código del compañero @Mad Antrax está muy pero que muy bien, sin embargo, al escucharte decir eso me han entrado ganas de mostrarte un ejemplo alternativo e iguálmente funcional en dicho lenguaje, ya que igual que tengo bien sabido que @Mad Antrax ama VBS, yo amo Vb.Net :P. Si lo hicieras en .Net (VB.Net o C#) la eficacia general del código aumentaria considerablemente en comparación con un lenguaje de scripting limitado (sobre todo si hablamos de Batch), aunque en realidad, con VBS tienes más que suficiente para llevar a cabo esa tarea.

Aquí tienes el archivo de la solución de Visual Studio 2013, como ya he mencionado cumple todas las funciones que has pedido, eso sí, lo que quieras añadir o modificar ya es cosa tuya. Si tienes preguntas sobre este lenguaje por favor hazlas en el subforo correspondiente, no desviemos más el tema aquí.



http://www.mediafire.com/download/4qoklj8s64jwuvv/WindowsApplication6.rar


Y aquí te muestro parte del código fuente. El resto del código que no muestro aquí simplemente es el código generado automaticamente por VS, el código de la UI.

Por mencionar algo de este código que te puede interesar rehutilizable para el futuro, en la función GetMonthName utilizo un objeto de globalización , CultureInfo, del cual obtengo de forma administrada los nombres de los meses en la cultura específica, en este caso "es-ES".

Te lo he dejado todo con varios comentarios para que te ayuden a comprender lo que hago.

MainForm.vb
Código
  1. Imports System
  2. Imports System.IO
  3. Imports System.Linq
  4. Imports System.Windows.Forms
  5.  
  6. Public NotInheritable Class MainForm : Inherits Form
  7.  
  8.    Private year As Integer = DateTime.Today.Year ' O... '2015'
  9.    Private sourceDir As String = Directory.GetCurrentDirectory() ' O... ".\"
  10.  
  11.    Public Sub New()
  12.  
  13.        Me.InitializeComponent()
  14.  
  15.        With Me.DTPMonth ' Personalizo el formato de entrada del DateTimePicker.
  16.            .CustomFormat = "MM" ' 01-12
  17.            .Format = DateTimePickerFormat.Custom
  18.            .Value = DateTime.Today
  19.        End With
  20.  
  21.    End Sub
  22.  
  23.    Private Sub BtAccept_Click(ByVal sender As Object, ByVal e As EventArgs) _
  24.    Handles BtAccept.Click
  25.  
  26.        ' Obtengo la ruta absoluta del directorio con fecha. (ej. "C:\Ruta\Octubre2015")
  27.        Dim monthNumber As Integer = Me.DTPMonth.Value.Month
  28.        Dim dateDir As String = DateUtil.GetDateDirPath("es-ES", Me.sourceDir, Me.year, monthNumber)
  29.  
  30.        ' Creo el directorio con fecha (si no existe).
  31.        DateUtil.CreateDirectory(dateDir)
  32.  
  33.        ' Muevo los directorios (si alguno) con formato de fecha específico (ej. "yyyyMMdd"), del directorio fuente, al directorio de destino.
  34.        DateUtil.MoveDateDirectories(Me.year, monthNumber, DateUtil.DirNameFormat, sourceDir, dateDir)
  35.  
  36.    End Sub
  37.  
  38.    Private Sub BtCancel_Click(ByVal sender As Object, ByVal e As EventArgs) _
  39.    Handles BtCancel.Click
  40.  
  41.        ' Cierro este form, y con él termina la ejecución de la aplicación.
  42.        Me.Close()
  43.  
  44.    End Sub
  45.  
  46. End Class

+

DateUtil.vb
Código
  1. Imports System
  2. Imports System.Globalization
  3. Imports System.IO
  4. Imports System.Linq
  5. Imports System.Security.AccessControl
  6. Imports System.Security.Principal
  7.  
  8. Public Module DateUtil
  9.  
  10.    ''' <summary>
  11.    ''' El formato por defecto del nombre de directorio. ("yyyyMMdd" equivale a "AñoMesDia").
  12.    ''' </summary>
  13.    ''' <remarks>
  14.    ''' El formato se puede cambiar, pero respetando los especificadores actuales, que son "yyyy", "MM" y "dd", los cuales son intercambiables entre si.
  15.    ''' Para usar otros especificadores haría falta una refactorización del código (el método <see cref="MoveDateDirectories"/>) para implementar su soporte.
  16.    ''' Los especificadores disponibles se pueden encontrar en la documentación online de MSDN:
  17.    ''' https://msdn.microsoft.com/en-us/library/8kb3ddd4%28v=vs.110%29.aspx
  18.    ''' </remarks>
  19.    Public Const DirNameFormat As String = "yyyyMMdd" ' ej. "20150131"
  20.  
  21.    ''' <summary>
  22.    ''' Devuelve el nombre de un mes del año, en el lenguaje específicado.
  23.    ''' </summary>
  24.    Public Function GetMonthName(ByVal cultureName As String,
  25.                                 ByVal month As Integer) As String
  26.  
  27.        If (month < 1I) OrElse (month > 12I) Then
  28.            Throw New ArgumentOutOfRangeException(paramName:="month", message:="A value from range '1' to '12' is required.")
  29.  
  30.        ElseIf Not (From ci As CultureInfo In CultureInfo.GetCultures(CultureTypes.InstalledWin32Cultures)
  31.                    Where ci.Name.Equals(cultureName, StringComparison.OrdinalIgnoreCase)).Any Then
  32.            Throw New NotImplementedException(message:=String.Format("Culture '{0}' not recognized, maybe name is wrong typed or culture is not installed.", cultureName))
  33.  
  34.        Else
  35.            Dim ci As CultureInfo = CultureInfo.GetCultureInfo(cultureName)
  36.            Return ci.TextInfo.ToTitleCase(ci.DateTimeFormat.MonthNames(month - 1))
  37.  
  38.        End If
  39.  
  40.    End Function
  41.  
  42.    ''' <summary>
  43.    ''' Devuelve la ruta absoluta del directorio de destino con el nombre de la fecha, en el lenguaje específicado.
  44.    ''' ej. "C:\Ruta\Octubre2015"
  45.    ''' </summary>
  46.    Public Function GetDateDirPath(ByVal cultureName As String,
  47.                                   ByVal targetDir As String,
  48.                                   ByVal year As Integer,
  49.                                   ByVal month As Integer) As String
  50.  
  51.        If (CStr(year).Length <> 4I) Then
  52.            Throw New ArgumentOutOfRangeException(paramName:="year", message:="A value of 4 digits' is required.")
  53.  
  54.        ElseIf (month < 1I) OrElse (month > 12I) Then
  55.            Throw New ArgumentOutOfRangeException(paramName:="month", message:="A value from range '1' to '12' is required.")
  56.  
  57.        Else
  58.            Return Path.Combine(targetDir, String.Format("{0}{1}", DateUtil.GetMonthName(cultureName, month), year))
  59.  
  60.        End If
  61.  
  62.    End Function
  63.  
  64.    ''' <summary>
  65.    ''' Crea un directorio en el directorio especificado.
  66.    ''' </summary>
  67.    Public Sub CreateDirectory(ByVal targetDir As String)
  68.  
  69.        ' Le asigno permisos de usuario personalizados a la carpeta existente o la carpeta que se creará.
  70.  
  71.        Dim userId As SecurityIdentifier = WindowsIdentity.GetCurrent.User
  72.        Dim dirSec As New DirectorySecurity
  73.        With dirSec
  74.            .AddAccessRule(New FileSystemAccessRule(userId, FileSystemRights.CreateDirectories, AccessControlType.Allow))
  75.            .AddAccessRule(New FileSystemAccessRule(userId, FileSystemRights.CreateFiles, AccessControlType.Allow))
  76.            .AddAccessRule(New FileSystemAccessRule(userId, FileSystemRights.ListDirectory, AccessControlType.Allow))
  77.            .AddAccessRule(New FileSystemAccessRule(userId, FileSystemRights.ReadAndExecute, AccessControlType.Allow))
  78.            .AddAccessRule(New FileSystemAccessRule(userId, FileSystemRights.Write, AccessControlType.Allow))
  79.            ' .AddAccessRule(New FileSystemAccessRule(userId, FileSystemRights.FullControl, AccessControlType.Allow))
  80.        End With
  81.  
  82.        If Directory.Exists(targetDir) Then
  83.            Directory.SetAccessControl(targetDir, dirSec)
  84.        Else
  85.            Directory.CreateDirectory(targetDir, directorySecurity:=dirSec)
  86.        End If
  87.  
  88.    End Sub
  89.  
  90.    ''' <summary>
  91.    ''' Mueve los directorios cuyo nombre contenga un formato de fecha especifico (intercambiable entre "yyyy", "MM", y "dd") al directorio de destino especificado.
  92.    ''' </summary>
  93.    Public Sub MoveDateDirectories(ByVal year As Integer,
  94.                                   ByVal month As Integer,
  95.                                   ByVal dateFormat As String,
  96.                                   ByVal sourceDir As String,
  97.                                   ByVal targetDir As String)
  98.  
  99.        If (CStr(year).Length <> 4I) Then
  100.            Throw New ArgumentOutOfRangeException(paramName:="year", message:="A value of 4 digits' is required.")
  101.  
  102.        ElseIf (month < 1I) OrElse (month > 12I) Then
  103.            Throw New ArgumentOutOfRangeException(paramName:="month", message:="A value from range '1' to '12' is required.")
  104.  
  105.        ElseIf (dateFormat.Replace("y", "").Replace("M", "").Replace("d", "").Length <> 0) Then
  106.            Throw New NotImplementedException(message:="Specified date format is not implemented, only 'yyyy', 'MM' and 'dd' are interchangeable.")
  107.  
  108.        ElseIf Not Directory.Exists(sourceDir) Then
  109.            Throw New DirectoryNotFoundException(message:=String.Format("Source directory not found: '{0}'", sourceDir))
  110.  
  111.        ElseIf Not Directory.Exists(targetDir) Then
  112.            Throw New DirectoryNotFoundException(message:=String.Format("Target directory not found: '{0}'", targetDir))
  113.  
  114.        Else
  115.            Dim sourceDirInfo As New DirectoryInfo(sourceDir)
  116.            Dim targetDirInfo As New DirectoryInfo(targetDir)
  117.  
  118.            ' Obtengo una colección con los nombres de directorio con el formato de fecha especificado. (ej. de Octubre 2015:  20151001 ... 20151031)
  119.            Dim dateDirNames As IEnumerable(Of String) =
  120.                From day As Integer In Enumerable.Range(1, DateTime.DaysInMonth(year, month))
  121.                Select dateFormat.Replace("yyyy", CStr(year)).
  122.                                  Replace("MM", CStr(month).PadLeft(2, "0"c)).
  123.                                  Replace("dd", CStr(day).PadLeft(2, "0"c))
  124.  
  125.            ' Obtengo una colección con las rutas absolutas de los directorios que cumplen las condiciones de formato de fecha.
  126.            Dim directories As IEnumerable(Of DirectoryInfo) =
  127.                From dirInfo As DirectoryInfo In sourceDirInfo.EnumerateDirectories("*", SearchOption.TopDirectoryOnly)
  128.                Where dateDirNames.Contains(dirInfo.Name)
  129.  
  130.            ' Un simple mensaje de información o aviso cuando no se encuentra ningún directorio el cual mover.
  131.            If (Not directories.Any) Then
  132.                Dim msg As String = String.Format("No ha sido encontrado ningún directorio en '{0}' que cumpla las condiciones de formato de fecha.", sourceDirInfo.FullName)
  133.                MessageBox.Show(msg, "By Elektro", MessageBoxButtons.OK, MessageBoxIcon.Information)
  134.  
  135.            Else
  136.                ' Por último, muevo los directorios que cumplieron las condiciones de formato de fecha.
  137.                For Each dirInfo As DirectoryInfo In directories
  138.  
  139.                    Debug.WriteLine(String.Format("Moviendo: {0}", dirInfo.FullName))
  140.  
  141.                    Try
  142.                        dirInfo.MoveTo(Path.Combine(targetDirInfo.FullName, dirInfo.Name))
  143.  
  144.                    Catch ex As Exception
  145. #If DEBUG Then
  146.                        Throw ex
  147. #Else
  148.                        MessageBox.Show(ex.Message & Environment.NewLine & ex.StackTrace, "By Elektro", MessageBoxButtons.OK, MessageBoxIcon.Error)
  149. #End If
  150.  
  151.                    End Try
  152.  
  153.                Next dirInfo
  154.  
  155.            End If ' Not directories.Any
  156.  
  157.        End If ' dateFormat...
  158.  
  159.    End Sub
  160.  
  161. End Module

Que lo apreveches.

Saludos!
« Última modificación: 10 Octubre 2015, 05:28 am por Eleкtro » En línea



Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.166


Cheats y Trainers para todos!


Ver Perfil WWW
Re: Crear directorio del mes actual en BAT
« Respuesta #16 en: 10 Octubre 2015, 18:13 pm »

jajaj, te saliste Eleкtro ;-)

Sí, yo adoro VBS, hoy en día es el único lenguaje que utilizo de forma profesional en el trabajo y la verdad me permite resolver todos los problemas y necesidades que se me plantean en el trabajo. Tu script en .net es awesome y mas elaborado con el control de errores y permisos, en definitiva; una pasada de codigo.

Un saludo jefe ;D
En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
elqueteconte

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Crear directorio del mes actual en BAT
« Respuesta #17 en: 13 Octubre 2015, 16:53 pm »

 ;-) ;-) ;-) ;-) ;-)

Son lo maximo chicos....

Mil gracias, yo tengo un libro de VB.Net me voy a poner a aprender pues este proceso no terminar aquí; hasta ahora han trabajado en el entorno lo que viene es la fusión de los archivos txt que están en cada carpeta.

Miren este archivo .bat

copy /y blancos\*.TXT .

copy CM.txt + C:\carp1\Emp1\20150908\CM.txt CM.txt
copy GL.txt + C:\carp1\Emp1\20150908\GL.txt GL.txt
copy IMP6000.txt + C:\carp1\Emp1\20150908\IMP6000.txt IMP6000.txt
copy IMP6001.txt + C:\carp1\Emp1\20150908\IMP6001.txt IMP6001.txt
copy IMP6002.txt + C:\carp1\Emp1\20150908\IMP6002.txt IMP6002.txt
copy IMP6003.txt + C:\carp1\Emp1\20150908\IMP6003.txt IMP6003.txt

copy CM.txt + C:\carp1\Emp1\20150909\CM.txt CM.txt
copy GL.txt + C:\carp1\Emp1\20150909\GL.txt GL.txt
copy IMP6000.txt + C:\carp1\Emp1\20150909\IMP6000.txt IMP6000.txt
copy IMP6001.txt + C:\carp1\Emp1\20150909\IMP6001.txt IMP6001.txt
copy IMP6002.txt + C:\carp1\Emp1\20150909\IMP6002.txt IMP6002.txt
copy IMP6003.txt + C:\carp1\Emp1\20150909\IMP6003.txt IMP6003.txt

copy CM.txt + C:\carp1\Emp1\20150910\CM.txt CM.txt
copy GL.txt + C:\carp1\Emp1\20150910\GL.txt GL.txt
copy IMP6000.txt + C:\carp1\Emp1\20150910\IMP6000.txt IMP6000.txt
copy IMP6001.txt + C:\carp1\Emp1\20150910\IMP6001.txt IMP6001.txt
copy IMP6002.txt + C:\carp1\Emp1\20150910\IMP6002.txt IMP6002.txt
copy IMP6003.txt + C:\carp1\Emp1\20150910\IMP6003.txt IMP6003.txt

copy CM.txt + C:\carp1\Emp1\20150911\CM.txt CM.txt
copy GL.txt + C:\carp1\Emp1\20150911\GL.txt GL.txt
copy IMP6000.txt + C:\carp1\Emp1\20150911\IMP6000.txt IMP6000.txt
copy IMP6001.txt + C:\carp1\Emp1\20150911\IMP6001.txt IMP6001.txt
copy IMP6002.txt + C:\carp1\Emp1\20150911\IMP6002.txt IMP6002.txt
copy IMP6003.txt + C:\carp1\Emp1\20150911\IMP6003.txt IMP6003.txt

copy CM.txt + C:\carp1\Emp1\20150912\CM.txt CM.txt
copy GL.txt + C:\carp1\Emp1\20150912\GL.txt GL.txt
copy IMP6000.txt + C:\carp1\Emp1\20150912\IMP6000.txt IMP6000.txt
copy IMP6001.txt + C:\carp1\Emp1\20150912\IMP6001.txt IMP6001.txt
copy IMP6002.txt + C:\carp1\Emp1\20150912\IMP6002.txt IMP6002.txt
copy IMP6003.txt + C:\carp1\Emp1\20150912\IMP6003.txt IMP6003.txt

Fijense que el .bat hace un recorrido por cada carpeta y copia los archivos que estén en esta dentro de otr archivo con el mismo nombre que se encuentra en el nivel superior, es decir, si la carpeta ppal se llama Octubre2015 el proceso hace un recorrido por las carpetas desde la 20151001 hasta 2015610N (donde N es el último día del mes) y crea los archivos a fusionados.

El proceso de fusión de los archivos hace que los mismos contengan dentro un caracter especial que indica el fin de cada archivo, este caracter es como una fecla apuntando a la izquierda; la idea es que despues que el proceso de merge esté completado hay que entrar en cada archivo y limpiarlos.

Sería mucho pedir esto?

De pana que muchisimas gracias chicos, son lo maximo.
En línea

Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.166


Cheats y Trainers para todos!


Ver Perfil WWW
Re: Crear directorio del mes actual en BAT
« Respuesta #18 en: 13 Octubre 2015, 17:32 pm »

No he entendido nada xD
En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Crear directorio del mes actual en BAT
« Respuesta #19 en: 13 Octubre 2015, 18:19 pm »

El proceso de fusión de los archivos hace que los mismos contengan dentro un caracter especial que indica el fin de cada archivo, este caracter es como una fecla apuntando a la izquierda

Eso lo puedes solucionar realizando una copia en modo binario:

Cita de: CMD.exe
copy /?
Copia uno o más archivos en otra ubicación.

  /A           Indica un archivo de texto ASCII.
  /B           Indica un archivo binario.

De todas formas, permíteme una pregunta... si puedes manejarte con VB.Net o con VBS, ¿por qué utilizas Batch?, al menos para merger o fusionar archivos, con lo fácil y "limpio" que es en los lenguajes mencionados no tendrias problemas de ese tipo.

Saludos!
« Última modificación: 13 Octubre 2015, 18:21 pm por Eleкtro » En línea



Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cómo obtener la semana actual a partir del día actual
Bases de Datos
cpichi.cu 4 11,330 Último mensaje 25 Septiembre 2018, 17:25 pm
por cchianalino
Crear una url de directorio
PHP
gAb1 3 2,899 Último mensaje 18 Abril 2013, 02:47 am
por gAb1
[Resuelto] Crear Indice compuesto (AUTO_INCREMENT(DEL AÑO ACTUAL)+AÑO ACTUAL)
Bases de Datos
LaThortilla (Effort) 9 10,270 Último mensaje 20 Febrero 2015, 18:28 pm
por LaThortilla (Effort)
Cambio de directorio actual desde programa C
Programación C/C++
juligarc10 1 2,801 Último mensaje 2 Octubre 2019, 21:58 pm
por RayR
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines