Можно ли в Windows XP копировать файлы в сетевое место из командной строки, пакетного файла или, еще лучше, сценария PowerShell?
На этот путь исследований меня направила попытка опубликовать файлы в библиотеку документов WSS 3.0 с машины пользователя. Я не могу привязать диск к рассматриваемой библиотеке, поскольку сайт WSS доступен только для аутентификации через NTLM на порту, отличном от 80 или 443. Полагаю, что я могу использовать веб-службы WSS для передачи файлов, но мне очень интересно узнать ответ на этот вопрос.
Используя пакетный файл, вы можете авторизоваться на ресурсе и скопировать файл:
Пакетный файл должен содержать следующее:
net use \\{dest-machine}\{destfolder} {password} /user:{username}
copy {file} \\{dest-machine}\{destfolder}
например
net use \\Development\myfolder mypassword /user:Administrator
copy newfile.c \\development\myfolder
Если вы ссылаетесь на окне
, просто использовать команду xcopy. Это довольно стандартный для
команды xcopy` доступен.
xcopy src \\dest-machine\shared-library-name\dest
xcopy \\src-machine\shared-library-name\dest src
PowerShell использует абстракции поставщиков, чтобы обеспечить общий интерфейс в хранилищах. Эти палки с нарицательным существительным "в пункт" в, так что вы можете получить полный список с мужчиной деталь`. Если вы знаете другой способ копирования и иначе работать с данными из магазина, вы могли бы также использовать его, но используя командлеты обеспечивает лучшее "и учиться-один раз использовать-часто на" подход. В вашем случае вы могли бы:
Copy-Item test.txt -Destination \\dest-machine\share
Копия-элемент также поддерживает параметр-Credential, если вам это нужно.
на "Сетевое окружение" и не'т действительно есть API, это's просто кучу ярлыков, и доля SharePoint использует расширение оболочки, если я правильно помню.
Все это, чтобы сказать: доступ к SharePoint в качестве файловой системы с помощью PowerShell ** также требует расширения, поставщика SharePoint.
От того, что я'м видя, кажется, что это's не возможно, чтобы непосредственно открыть/ управлять сетью из командной строки, будь то в PowerShell или равнины ol' командная строка.
@slipsec (#13899): Спасибо за предложение, но PowerShell не'т поддерживать номер порта в конечный путь больше, чем команда инет использовать не.
Поэтому лучшее, что я могу сделать в моей конкретной ситуации-это стиснуть зубы и купить что-то вроде сайт webdrive для включения сетевого диска по WebDAV на нестандартных портах, или сделать некоторые различные конфигурации (например, отдельное веб-приложение с другого IP-адреса и заголовки) в SharePoint, чтобы выставить на сайте через NTLM на стандартный порт.
вы можете использовать команды 'net' для аутентификации, а затем скопировать файлы.
copy src \\dest-machine\shared-library-name\dest
Я не совсем уверен в том, как именно следует обрабатывать аутентификацию, если она необходима.
Я может быть ошибаюсь, но я думаю, что ни Ник'ы программы решения или Nathan'командная решение S копия будет работать. Команды Robocopy, кажется, хочет диск, который я могу'т делать, потому что это's не работает на порту 80 или 443, и Windows можете'Т-образная рукоятка путь, который включает в себя порт в формате UNC-имя типа:
copy src \\dest-machine:45000\shared-library-name\dest
Я не'т см. задачу Нант, что бы справиться с этой ситуацией, либо.
Я также знаю, что есть инструменты, которые позволят мне подключить диск по WebDAV. Мне было более интересно, если есть какой-нибудь способ использовать сеть мест, которые были созданы без использования графического интерфейса.
Если это то, что вам нужно написать, вам следует рассмотреть NAnt.
Он используется в основном для скриптов сборки, но он очень мощный и достаточно простой для начала работы.
Есть также NAntContrib и nant ftp task, которые должны вам помочь.
Да, вы можете. Я предлагаю использовать такой инструмент, как robocopy.