ネットワーク上にすべてのユーザーがサーバーにアクティブデータを保存するストレージフォルダーがあります。ここで、サーバーは場所の問題により新しいサーバーに置き換えられるため、古いサーバーストレージフォルダーから新しいサーバーストレージフォルダーにサブフォルダーファイルをコピーする必要があります。私は以下の例を持っています:
\ Oldeserver \ storage \ data&filesから\ New server \ storage \ data&filesへ。
ネットワーク上にすべてのユーザーがサーバーにアクティブデータを保存するストレージフォルダーがあります。ここで、サーバーは場所の問題により新しいサーバーに置き換えられるため、古いサーバーストレージフォルダーから新しいサーバーストレージフォルダーにサブフォルダーファイルをコピーする必要があります。私は以下の例を持っています:
\ Oldeserver \ storage \ data&filesから\ New server \ storage \ data&filesへ。
回答:
xcopy.exeは間違いなくあなたの友達です。Windowsに組み込まれているため、コストはかかりません。
ただ xcopy /s c:\source d:\target
あなたはおそらくいくつかのことを微調整したいと思うでしょう。追加するオプションには、次のものがあります。
/s/e
-空のディレクトリのコピーを含む、再帰的なコピー。/v
-これを追加して、コピーをオリジナルに対して検証します。より遅いが、偏執狂のため。/h
-システムと隠しファイルをコピーします。/k
-ファイルとともに読み取り専用属性をコピーします。そうしないと、すべてのファイルが読み書き可能になります。/x
-権限を気にする場合は、/o
またはを使用し/x
ます。/y
-既存のファイルを上書きする前にプロンプトを表示しません。/z
-コピーが失敗する可能性があると考え、それを再起動する場合は、これを使用します。コピー時に各ファイルにマーカーを配置するため、xcopyコマンドを再実行して、中断したところから再開できます。xcopyが途中で失敗する可能性がある場合(不安定なネットワーク接続を介してコピーしている場合など)、または停止して後で続行する必要がある場合は、を使用できますxcopy /s/z c:\source d:\target
。
お役に立てれば。
/i
-宛先が存在せず、複数のファイルをコピーする場合、宛先はディレクトリーでなければならないものと想定します。
echo f | xcopy /s /f srcfile destfile
データをバックアップするための私のお気に入りは:
ROBOCOPY "C:\folder" "C:\new_folder" /mir
/ mirはミラー用です。/ movを使用してファイルを移動することもできます。まったく同じフォルダを再現します。必要に応じてファイルを削除/上書きできます。私にとってはうまくいきます。xcopy / copyよりも高速です。Windowsにも組み込まれています。
ソース:http : //technet.microsoft.com/en-us/library/cc733145.aspx
明確にするためにxcopy /s c:\source d:\target
、を使用する場合は、c:\ sourceとd:\ targetの前後に ""を付けてください。
つまり、パスにスペースがある場合、つまり次の場合:
"C:\Some Folder\*.txt"
ただし、次の場合は必要ありません。
C:\SomeFolder\*.txt
echo f | xcopy source destination /y
自動化します。すべての質問に回答として「f」を割り当てます。また、上書き要求も通過します(fはyesと見なされます)。
「ターゲット上のファイル名またはディレクトリ名を指定してください(F =ファイル、D =ディレクトリ)」をバイパスするには xcopyでプロンプトを表示すると、次のことができます...
echo f | xcopy /f /y srcfile destfile
または、大規模なサブストラクチャー/フォルダーをコピーするだけの場合:
複数のファイルをコピーする場合、宛先がディレクトリでなければならないことを指定する/ iを使用します。
絶対パス、つまり相対パスを使用せずにファイルをコピーする場合:
パスにバックスラッシュを書くことと、スラッシュを忘れないこと
例:
copy children-folder\file.something .\other-children-folder
PS:「バッチパラメータ」と呼ばれるこれらのワイルドカードを使用して絶対パスを取得できます
@echo off
echo %%~dp0 is "%~dp0"
echo %%0 is "%0"
echo %%~dpnx0 is "%~dpnx0"
echo %%~f1 is "%~f1"
echo %%~dp0%%~1 is "%~dp0%~1"
コピーについては、こちらのドキュメントを確認してください:https : //technet.microsoft.com/en-us/library/bb490886.aspx
また、バッチパラメータのドキュメントについては、https: //www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/percent.mspx?mfr = true
@echo off
rem The * at the end of the destination file is to avoid File/Directory Internal Question.
rem You can do this for each especific file. (Make sure you already have permissions to the path)
xcopy /Y "\\Oldeserver\storage\data\MyFile01.txt" "\\New server\storage\data\MyFile01.txt"*
pause
rem You can use "copy" instead of "xcopy "for this example.