Como mover pastas com nomes semelhantes

0

Eu gostaria de saber um monte de pastas com nomes semelhantes para diferentes pastas. por exemplo (01/15) mãe (01/15) pai (02/15) papai (01/15) Irmão (03/15) filho Então, o que eu quero fazer é pasta pai (01/15) - sub-pastas (01/15) mãe, (01/15) pai e assim por diante. Em outras palavras, quero agrupar por que está entre parênteses. Então, o que eu quero devido é gerar uma pasta de data para mover a pasta de imagens do seu grupo datado correspondente. Deles um monte de pastas, então eu não posso fazê-lo manualmente.

    
por eni jing 05.02.2017 / 00:30

2 respostas

0

Parece que você pode ter vários problemas aqui. Suas fotos têm metadados?

Como você está originalmente agrupando as fotos em mamãe, papai, etc. - esquecendo a data por enquanto.

Eles já estão agrupados em seu nome de usuário? Ou são todos os arquivos em um diretório com apenas a data de quando o arquivo foi criado no nome do arquivo?

Você pode fazer buscas no Windows (eu suponho suas janelas?) e ordenar as fotos por data e outros metadados como tags etc. - esses filtros estão todos na função de busca do windows - dependendo de como as fotos são criadas você pode ser capaz de simplesmente definir um filtro na pesquisa e movê-los todos de uma vez.

Eu faço isso quase diariamente com fotos, toda a minha família e eu tomo uma tonelada todos os dias e é sempre eu que acabo tendo que classificar e fazer backup de todos eles!

    
por 05.02.2017 / 00:39
0

No diretório de nível superior, crie o arquivo sort.vbs e adicione o seguinte texto:

set objFSO = CreateObject("Scripting.FileSystemObject")
set objFolder = objFSO.GetFolder(".")
set colSubfolders = objFolder.Subfolders

strStartChar = "("
strEndChar   = ")"

for each objSubfolder in colSubfolders
    strNameOfFolder = objSubfolder.Name

    if instr(strNameOfFolder, strStartChar) > 0 then

        intStartCharacter = instr(strNameOfFolder,strStartChar) +1
        intEndCharacter   = instr(strNameOfFolder,strEndChar) 
        intLength         = intEndCharacter - intStartCharacter
        strNewFolderName  = mid(strNameOfFolder, intStartCharacter, intLength )

        wscript.echo "Processing: " & strNameOfFolder & ", extracted text for new folder: " & strNewFolderName

        if not objFSO.FolderExists(strNewFolderName) then
            objFSO.CreateFolder strNewFolderName
        end if    

        if objFSO.FolderExists(strNewFolderName) then
            set ExistingFolder = objFSO.GetFolder(strNameOfFolder)
            objFSO.MoveFolder ExistingFolder.name, strNewFolderName & "\"
        end if    

    else
        wscript.echo strNameOfFolder & " not for processing.  No " & strStartChar & " character in directory."
    end if

next

Em seguida, abra um prompt de comando no mesmo diretório e execute:

cscript.exe sort.vbs.

Como você pode ver, leva a string entre o (e o) para formar o novo diretório e mover o conteúdo do diretório original para ele.

Nota: Há pouca verificação de erros e faz algumas suposições sobre o nome do diretório.

    
por 06.02.2017 / 09:29

Tags