Показать полную графическую версию : Добавить "Отправить на \\server\" в контекстное меню
Собственно, сабж. Пытаюсь решить задачу, но не могу..
В реестре прописал так:
cmd /k copy %1 \\server\Public\
Суть команды - банальное копирование файла на общественную файлопомойку в сети.
Желательно, конечно, реализовать это через интерфейс WIndows, а не через CMD, я не знаю, как это сделать. В том смысле, что командная строка вряд ли запросит что-либо, если начальный файл будет совпадать с конечным.
Пишет, не удается найти указанный файл. Нада как-то переменную текущего каталога добавить перед именем файла. А как сделать - я хз.
Помогите, товарищи-шаманы)
Можно добавить команду Копировать в папку... в контекстное меню файлов. Для этого примените твик реестраWindows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers]
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\{C2FBB630-2971-11D1-A18C-00C04FD75D13}]
А можете так: Пуск - Выполнить - shell:sendto - Правая кнопка мыши - Создать - Ярлык - указываете путь к папке \\server\Public\ - называете как будет выглядеть пункт меню Отправить
Второй вариант я проделал, но он несколько неудобен, как и первый..
Лишние так сказать выборки строк в меню..
Можно ли вот это "копировать в папку" настроить сразу на определенный сетевой адрес?
flower, для этого нужно написать и зарегистрировать библиотеку, которая будет сие делать.
Morpheus
21-02-2012, 15:39
У меня всё нормально копируется...
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\FileC]
@="Копировать в папку"
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\FileC\command]
@="cmd /k copy %1 \\\\server\\Public"
Morpheus:
при копировании с рабочего стола выдает ошибку:
Не удается найти указанный файл.
C:\Documents and Settings\userprofile\Рабочий стол>
Подозреваю, что виноваты русские буквы.
При копировании с корня диска С все нормально проходит, однако командная строка остается.
Как я понимаю, если файл с таким именем уже есть на сервере, он будет перезаписан. Без диалога подтверждения.. Это не есть гуд.
будет перезаписан. Без диалога подтверждения »
должен оставаться запрос, а если нет, используйте параметр /-y - обязательный запрос на перезапись
виноваты русские буквы »
заключите параметр в кавычки - \"%1\"
Morpheus
21-02-2012, 16:00
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\FileC]
@="Копировать в папку"
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\FileC\command]
@="cmd /c copy /-y \"%1\" \\\\server\\Public"
Благодарю за советы, буду разбираться..
Нормально вроде теперь работает. За исключением одного бага..
Если копировать папку, то в месте назначения оказываются ФАЙЛЫ из этой папки, но не сама папка с файлами.
Попробовал хитрость: cmd /c copy "%1/*.*" \\brk\Public >123.txt
Не помогло все равно..
Если копировать папку »
используйте команду xcopy, синтаксис по xcopy /?
cmd /c xcopy "%1" \\brk\Public >123.txt
все равно копирует файлы без папки.
Сделал вывод в лог:
C:\Documents and Settings\123\ђ*Ў®зЁ© бв®«\WSUS\FrameWorklangPack.reg
C:\Documents and Settings\123\ђ*Ў®зЁ© бв®«\WSUS\readme.txt
C:\Documents and Settings\123\ђ*Ў®зЁ© бв®«\WSUS\scr.PNG
C:\Documents and Settings\123\ђ*Ў®зЁ© бв®«\WSUS\WSUS.reg
‘Є®ЇЁа®ў**® д*©«®ў: 4.
Копировалась папка WSUS с четырьмя файлами, описанными выше.
используйте параметр /e для копирования структуры каталогов
cmd /c xcopy "%1" /e \\brk\Public
Morpheus
21-02-2012, 20:01
Xcopy тут не обойтись.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\FileC]
@="Копировать в папку"
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\FileC\command]
@="\"C:\\Users\\user\\Desktop\\CopyFolder.cmd\" %1"
а в cmd кидаем этот код:
@Echo Off
Set $SRC=%1
Set $DST=\\brk\Public
For %%i In ("%$SRC%") Do Set $N=%%~nxi
XCopy "%$SRC%" "%$DST%\%$N%" /E/H/R/K/Q/Y/I
http://forum.oszone.net/post-1223671.html#post1223671
но когда появляются пробелы работать перестаёт. Нужно просить коллег из скриптов код допилить, чтобы и пути с пробелами воспринимались и одновременно для файлов срабатывал. Переношу.
Xcopy тут не обойтись. »
правда )
Благодарю за помощь) Буду ждать доработки скрипта. Сам в bat-скриптинге, увы, ничего не смыслю :(
но когда появляются пробелы работать перестаёт. »
Было ж… (http://forum.oszone.net/post-1863596.html#post1863596)
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\FileC]
@="Копировать в папку"
[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\FileC\command]
@="\"C:\\Users\\user\\Desktop\\CopyFolder.cmd\" \"%1\""
и:
@Echo Off
Set $SRC=%~1
Set $DST=\\brk\Public
For %%i In ("%$SRC%") Do Set $N=%%~nxi
XCopy "%$SRC%" "%$DST%\%$N%" /E/H/R/K/Q/Y/I
Что не сработало у меня:
1. Копирование при выделении нескольких объектов. Похоже, что пакетный файл вовсе не вызывается (впрочем, и не пакетный файл — тоже). [Update: последующая проверка показала, что это ошибки на конкретной, отдельно взятой системе.]
2. При попытке копирования файла появляется запрос вида:
Что означает E:\Песочница\0120\0002\Eula.txt:
имя файла или каталога
(F = файл, D = каталог)?
P.S. У меня Windows XP; «xcopy.exe» версии:
╔══════════════════════════ Версия файла ══════════════════════════╗
║ Полная версия: 5.1.2600.5512 ║
║ Язык: Английский (США) ║
║ Описание: Extended Copy Utility ║
║ Копирайт: rosoft Corporation. All rights reserved. ║
║ Архитектура: I386 ║
║──────────────────────────────────────────────────────────────────║
║ Комментарий: ║
║ Компания: Microsoft Corporation ║
║ Версия файла: 5.1.2600.5512 (xpsp.080413-2111) ║
║ Внутреннее имя: xcopy ║
║ Торговая марка: ║
║ Оригинальное имя: XCOPY.EXE ║
║ Частная сборка: ║
║ Продукт: Microsoft® Windows® Operating System ║
║ Версия продукта: 5.1.2600.5512 ║
║ Специальная сборка: ║
║──────────────────────────────────────────────────────────────────║
Я по-прежнему убеждён, что ярлык в SendTo надёжнее.
Morpheus
23-02-2012, 14:28
Было ж… »
Не знал про тильду... Спасибо!
Что не сработало у меня: »
Хм... у меня всё срабатывает. И для нескольких файлов и для папок. В случае с папками всё копируется без вопросов, а для файлов появляется запрос вида: »
где жму f и файл тоже копируется...
Проверил и в XP - тоже всё ок. Xcopy - 5.1.2600.5512.
Хм... у меня всё срабатывает. И для нескольких файлов и для папок. »
Значит, спишем на моих местных тараканов — возможно, что-то с моей системой.
Проверил и в XP - тоже всё ок. Xcopy - 5.1.2600.5512. »
Morpheus, проверил на других машинах: при выделении нескольких объектов — работает. Поправил свой пост #17 (http://forum.oszone.net/post-1864881.html#post1864881).
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.