12

Windows XP で、コマンド ライン、バッチ ファイル、または PowerShell スクリプトからネットワーク プレースにファイルをコピーすることは可能ですか?

この調査の道に私を突き動かしたのは、ユーザーのマシンから WSS 3.0 ドキュメント ライブラリにファイルを発行しようとしたことでした。問題のライブラリにドライブをマップできません。WSS サイトは 80 または 443 以外のポートで NTLM 経由でしか認証できないためです。別の方法として、WSS Web サービスを使用してファイルをプッシュすることもできると思いますが、今、この質問に対する答えがとても気になります。

4

9 に答える 9

19

バッチ ファイルを使用すると、リソースにログオンしてファイルをコピーできます。

バッチ ファイルには次のものが含まれます。

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
于 2008-08-18T11:06:03.683 に答える
6

を参照している場合はwindows box、を使用してxcopyください。利用できるのはかなり標準的xcopyです。

xcopy src \\dest-machine\shared-library-name\dest
xcopy \\src-machine\shared-library-name\dest src
于 2011-11-19T10:05:51.867 に答える
3

Powershellは、プロバイダーの抽象化を使用して、データストアへの共通のインターフェイスを提供します。これらは普通名詞「Item」に固執しているように見えるので、で完全なリストを取得できますman *item*。ストアからデータをコピーしたり操作したりする別の方法を知っている場合は、それを使用することもできますが、コマンドレットを使用すると、より優れた「一度だけ学習し、頻繁に使用する」アプローチが提供されます。あなたの場合、あなたは次のことができます:

Copy-Item test.txt -Destination \\dest-machine\share

Copy-itemは、必要に応じて-Credentialパラメーターもサポートします。

于 2008-08-17T20:13:50.427 に答える
2

"Network Places" には実際には API はありません。これは単なるショートカットの集まりであり、SharePoint 共有はシェル拡張機能を使用しています (私の記憶が正しければ)。

つまり、PowerShell からファイル システムとして SharePoint にアクセスするには、拡張機能であるSharePoint Provider必要です。

于 2008-09-16T02:28:04.987 に答える
1

私が見ているところによると、コマンド ラインからネットワーク プレースに直接アクセスしたり操作したりすることはできないようです。

net use@slipsec (#13899): 提案していただきありがとうございます。ただし、PowerShell は、コマンドがサポートする以上に宛先パスのポート番号をサポートしていません。

したがって、私の特定の状況で実行できる最善の方法は、WebDrive のようなものを購入して、非標準ポートで WebDAV を介したドライブ マッピングを有効にするか、別の構成を行うことです (たとえば、別の IP アドレスを持つ別の Web アプリとホスト ヘッダー) を SharePoint で使用して、標準ポートで NTLM 経由でサイトを公開します。

于 2008-08-27T14:35:37.993 に答える
1

「net」コマンドを使用して認証し、ファイルをコピーできます。

copy src \\dest-machine\shared-library-name\dest

必要な場合に認証を処理する方法が正確にはわかりません。

于 2008-08-13T20:08:47.893 に答える
0

私はこれについて間違っている可能性がありますが、Nick の robocopy ソリューションも Nathan の copy コマンド ソリューションも機能しないと思います。Robocopy はマップされたドライブを必要としているようですが、ポート 80 または 443 で実行されていないため実行できず、Windows は UNC スタイルの名前にポートを含むパスを処理できません。

copy src \\dest-machine:45000\shared-library-name\dest

この状況を処理する NAnt タスクも見当たりませんでした。

また、WebDAV ドライブをマップできるツールがあることも知っています。GUI を使用せずにセットアップされたネットワーク プレースを利用する方法があるかどうか、もっと疑問に思っていました。

于 2008-08-13T21:23:10.583 に答える
0

スクリプトを作成する必要がある場合は、NAntを検討する必要があります。

これは主にビルド​​ スクリプトに使用されますが、非常に強力で、かなり簡単に使い始めることができます。

あなたを助けるNAntContribとnant ftpタスクもあります。

于 2008-08-13T20:44:29.460 に答える
-1

はい、できます。robocopy などのツールを使用することをお勧めします。

于 2008-08-13T20:04:20.930 に答える