Вот моя структура папок:
destination.lnk
file.1
file.2
file.3
file.4
Как я могу переместить эти файлы из командной строки в "место назначения", не вводя весь путь?
move file.* destination.lnk
Cannot move multiple files to a single file
Вот моя структура папок:
destination.lnk
file.1
file.2
file.3
file.4
Как я могу переместить эти файлы из командной строки в "место назначения", не вводя весь путь?
move file.* destination.lnk
Cannot move multiple files to a single file
Вы получаете ошибку, потому что вы пытаетесь переместить два файла в один файл ссылки, и вы не можете этого сделать.
Вместо этого я бы порекомендовал вам сохранить целевой путь к переменной и переместить файлы к ее приведенному значению:
SET location=C:\your_folder
move file.* %location%
Редакция:
Как я понял, вы хотите сохранить расположение целевой папки в отдельном файле. Таким образом, вы можете просто заменить имеющийся ярлык на текстовый файл, содержащий целевой путь:
set /p location=<destination.txt
move file.* %location%
Вы можете создать символическую ссылку
mklink Destination "C:\Users\All Users\Dokumente"
а потом
move file.* Destination\
завершающий обратный слеш важен, так как сама символическая ссылка не может быть целью.
Символическая ссылка будет отображаться в каталоге, подобном 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
Если вы хотите использовать PowerShell, вот скрипт, который будет делать именно то, что вы хотите, сохраняя его в виде переменной:
$Shell = New-Object -ComObject WScript.Shell
$Shortcut = '.\shortcut.lnk'
$TargetPath = $Shell.CreateShortcut($Shortcut).targetpath
Затем используйте эту переменную в PowerShell для достижения желаемого.