うえもんのブログ

SE/DB/システム開発保守運用/

競馬/野球/サッカー/自転車


テーマ:
情シスを数年やっていれば、端末の入れ替えなどで共有フォルダの移行を迫られた経験は少なからずあるだろう。
1つや2つのフォルダで、数人のアクセス権限であれば手でやってしまえば早いんだけど、それがファイルサーバーとなればそうもいかない数十個のフォルダに対してそれぞれアクセス権限を設定してやらなければいけないなんて気が遠くなる・・・ましてやミスも起こり得る

そんな時に便利なのがrobocopynet sharepermcopyコマンドである
コマンドでコピーといえばxcopyが一般的だが、もうWinVistaやらWin7やらWinSrv2008では非推奨らしい。。。



さっそく手順を紹介しましょう。

1:robocopyでフォルダをコピーする
コマンド例
robocoy \\svrtest\DATA D:\share_copy\DATA /E /COPYALL /MIR
(解説)
robocopy・・・コマンド。
\\svrtest\DATA ・・・コピー元フォルダ。
D:\share_copy\DATA ・・・コピー先フォルダ
/E・・・robocopyオプション。空のディレクトリを含むサブディレクトリをコピーします。 
/COPYALL・・・robocopyオプション。
ファイル情報をすべてコピーします (/COPY:DATSOU と同等)。 

端末名svrtestのDATAって共有フォルダを、Dドライブのshare_copyフォルダ内にDATAってフォルダに丸ごとコピーしますよって事です。

2:net shareでコピーしたフォルダを共有する
コマンド例
net share DATA=D:\share_copy\DATA
(解説)
net share・・・コマンド
DAT=・・・共有名
D:\share_copy\DAT・・・共有するフォルダ

Dドライブのshare_copyフォルダ内にあるDATAってフォルダをDATAって名前で共有しますよって事です。

3:permcopyで共有のアクセス権限をコピーする
コマンド例
permcopy \\svrtest DATA \\127.0.0.1 DATA
(解説)
permcopy・・・コマンド
\\svrtest data・・・コピー元の共有名
\\127.0.0.1 DATA・・・コピー先の共有名。この場合127.0.0.1なので自分の端末を指定。

\\svrtest\DATAの共有アクセス権を自端末のDATAにコピーしますよって事です。
この時気を付けたいのは、\\svrtest\DATAではなく\\svrtest DATAになっていること。
「\」ではなく「(スペース)」なんです


ちなみに、WindowsServer2003とWindowsXPはrobocopyとpermcopyコマンドは実装されていません。
以下サイトからツールをダウンロードし、インストールすることでrobocopy・permcopyが使用可能になります。

Windows Server 2003 Resource Kit Tools
その際はそれぞれ
robocoy \\svrtest\DATA D:\share_copy\DATA /E /COPYALL /MIR 

"C:\Program Files\Windows Resource Kits\Tools\robocopy.exe" \\svrtest\DATA D:\share_copy\DATA /E /COPYALL /MIR 

permcopy \\svrtest DATA \\127.0.0.1 DATA 

"C:\Program Files\Windows Resource Kits\Tools\permcopy.exe" \\svrtest DATA \\127.0.0.1 DATA 
と書き換えてやる必要があります。


このコマンド便利なんだけど、実際フォルダが多かったらその分面倒なんだよね。。。
って事で一括作成ツールを.NETで作成中


***参考URL***
robocopyのヘルプ
http://www.upken.jp/kb/dZGLAzWdYNuFHRHVOWWhttCMiXPmYF.html

permcopyコマンドで共有フォルダのアクセス権をコピーする
http://www.atmarkit.co.jp/fwin2k/win2ktips/1081permcopy/permcopy.html 

Amebaおすすめキーワード