Windowsではファイルアクセスのタイムアウトが初期設定が45秒になっているため、ファイルサーバで大きなファイルを扱うとタイムアウトでエラーになってしまいます。
対策
レジストリを変更しタイムアウトまでの時間を大きくする事でエラーを防げます。
レジストリエディタで
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
にSessTimeout
をDWORDで作成し値に10進数で秒数を入力します。
今回は600(10分)を入力します
以下のbatファイルを実行しても可能です。
@echo off
REM ファイルアクセスのタイムアウトを45秒から10分に変更
REM value名がない場合は作成して、ある場合は上書きされる
set key="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters"
set name="SessTimeout"
set regType="REG_DWORD"
set data="600"
set regCmd="add %key% /v %name% /t %regType% /d %data% /f"
REM powershellから管理者権限でregコマンドを実行
PowerShell Start-Process reg -ArgumentLis '"%regCmd%"' -Verb RunAs