Como mover uma seleção de arquivos para uma nova pasta através do menu do botão direito?

2

Eu mudei recentemente do OSX para o Xubuntu 14.04 e estou amando minha nova liberdade. Na maior parte, consegui personalizar meu sistema operacional Linux de acordo com minhas necessidades e preferências. Mas há um recurso que mais sinto falta. Eu preciso jogar um monte de itens em uma pasta muito rápido, já que estou trabalhando com muitas imagens e arquivos de texto.

No OS X, havia um atalho bacana que gerencia a operação de uma só vez, para que você não precise criar uma pasta e, depois, tomar mais ações para preenchê-la. Tudo que eu precisava era selecionar os itens que eu queria no Finder (gerenciador de arquivos), clicar com o botão direito do mouse sobre eles para abrir o menu contextual do OS X e escolher a primeira opção: Nova pasta com seleção.

O Finder criará uma nova pasta com esses itens armazenados com segurança, removendo pelo menos uma etapa do processo automaticamente. Super fácil! Agora eu queria saber como posso fazer isso no Linux? Ou mais importante no Xubuntu?

Qualquer ajuda seria muito apreciada!

    
por LinuxDudester 04.06.2014 / 13:47

2 respostas

2

Primeiro, há duas versões de um script que movem todos os arquivos selecionados para uma nova pasta.

Versões 1 que solicitarão o novo nome da pasta:

#!/bin/bash

# Define a function that launches the zenity input dialog
get_foldername(){
    zenity --entry --width=300 --title="Create New Folder" --text="Enter the new name:"
}

# Ask user for foldername
foldername=$(get_foldername) || exit

# Try to create a new folder with the name from user input
errorString=$( mkdir "$foldername" 2>&1 )

# If an error occurs show error dialog and ask again for foldername
while [ -n "$errorString" ]; do
    zenity --error --title="$( echo $errorString | cut -d: -f3- )" --text="$( echo $errorString | cut -d: -f2- )"  || exit 

    # Ask again for foldername
    foldername=$(get_foldername) || exit
    errorString=$( mkdir "$foldername" 2>&1 )
done

# Move selected files to the new folder
mv -t "${PWD}/${foldername}" "${@}" 

Versões 2 que colarão os arquivos em uma nova pasta e o nomearão com a data atual:

#!/bin/bash

foldername=$( echo 'date +%Y-%m-%d'"-"'date +%H%M%S' )

# Try to create a new folder with the current date and time
errorString=$( mkdir "$foldername" 2>&1 )

if [ -n "$errorString" ]; then 
    zenity --error --title="$( echo $errorString | cut -d: -f3- )" --text="$( echo $errorString | cut -d: -f2- )"
    exit
fi

# Move selected files to the new folder
mv -t "${PWD}/${foldername}" "${@}"

Salve o script (ou ambos, mas em arquivos diferentes) no diretório $HOME/bin , chame-o de algo como move-to-new-folder.sh e torne-o executável:

Agora temos que adicionar os scripts ao Thunar. Há duas possibilidades para adicionar scripts ao menu do Thunar (tanto quanto eu sei):

Enviar para o método:

  1. Crie uma pasta $HOME/.local/share/Thunar/sendto

  2. Crie um arquivo nesta nova pasta e chame-o de move-to-new-folder.desktop

Conteúdo do arquivo:

[Desktop Entry]
Type=Application
Version=1.0
Encoding=UTF-8
TryExec=/home/username/bin/move-to-new-folder.sh
Exec=/home/username/bin/move-to-new-folder.sh %F
Icon=/usr/share/icons/elementary-xfce/actions/48/folder-move.png
Name=New Folder

3. Torne o arquivo executável

Mais informações: link

Método de ações personalizadas:

Mais informações: link

    
por TuKsn 05.06.2014 / 19:55
0

Não sei que você pode fazer isso usando o gerenciador de arquivos padrão no Xubuntu, que é chamado Thunar. Tudo o que você pode fazer em Thunar (como você provavelmente já descobriu) é (a) criar uma nova pasta e então (b) destacar um monte de arquivos e arrastá-los para ele - isto é, dois passos ao invés de um. No entanto, você não está limitado a usar o Thunar. Abra o Ubuntu Software Center e você encontrará vários outros gerenciadores de arquivos que você pode experimentar; há ainda mais se você procurar por 'linux file manager' online. Talvez um deles tenha a funcionalidade que você está procurando.

    
por John 04.06.2014 / 17:04