CMD.exe: Mover arquivos para um atalho de pasta

1

Aqui está minha estrutura de pastas:

destination.lnk
file.1
file.2
file.3
file.4

Como posso mover esses arquivos com a linha de comando para "destino" sem ter que digitar todo o caminho?

move file.* destination.lnk
Cannot move multiple files to a single file
    
por divided 26.06.2017 / 16:58

3 respostas

2

Você recebe o erro porque está tentando mover dois arquivos para o arquivo de link único e não pode fazer isso.

Em vez disso, recomendo que você salve um caminho de destino para uma variável e mova os arquivos para o valor convertido:

SET location=C:\your_folder
move file.* %location%

EDITADO:

Como eu entendi, você deseja armazenar o local para a pasta de destino em um arquivo separado. Então você pode simplesmente substituir o atalho que você tem por um arquivo de texto contendo o caminho de destino:

set /p location=<destination.txt
move file.* %location%
    
por 26.06.2017 / 17:12
2

Você pode criar um link simbólico

mklink Destination "C:\Users\All Users\Dokumente"

e depois

move file.* Destination\

a barra invertida é importante, pois o link simbólico em si não pode ser o alvo.

O link simbólico será exibido em um diretório como sys:

> dir des*
 Volume in drive C is System-Xxxxx
 Volume Serial Number is xxxx-xxxx

 Directory of c:\Test

06/26/2017  18:33    <SYMLINK>      Destination [c:\Users\All Users\Dokumente]
               1 File(s)              0 bytes
               0 Dir(s)  89.795.506.176 bytes free
    
por 26.06.2017 / 18:37
1

Se você estiver disposto a usar o PowerShell, aqui está um script para fazer exatamente o que você deseja, mantendo-o encapsulado em uma variável:

$Shell = New-Object -ComObject WScript.Shell
$Shortcut = '.\shortcut.lnk'
$TargetPath = $Shell.CreateShortcut($Shortcut).targetpath

Em seguida, use essa variável no PowerShell para obter o que você deseja.

    
por 26.06.2017 / 20:23