次の方法で共有


MoveFileA 関数 (winbase.h)

既存のファイルまたはその子を含むディレクトリを移動します。

ファイルを移動する方法を指定するには、MoveFileEx または MoveFileWithProgress 関数 使用します。

この操作をトランザクション操作として実行するには、MoveFileTransacted 関数を使用します。

構文

BOOL MoveFileA(
  [in] LPCSTR lpExistingFileName,
  [in] LPCSTR lpNewFileName
);

パラメーター

[in] lpExistingFileName

ローカル コンピューター上のファイルまたはディレクトリの現在の名前。

既定では、名前はMAX_PATH文字に制限されています。 この制限を 32,767 文字のワイド文字に拡張するには、パスの先頭に "\\?\" を付けます。 詳細については、「ファイル、パス、および名前空間の名前付けする」を参照してください。

先端

Windows 10 バージョン 1607 以降では、事前に "\\?\" なしでMAX_PATHの制限を削除することをオプトインできます。 詳細については、「名前付けファイル、パス、および名前空間の」の「パスの最大長制限」セクションを参照してください。

[in] lpNewFileName

ファイルまたはディレクトリの新しい名前。 新しい名前が存在してはいけません。 新しいファイルは、別のファイル システムまたはドライブ上にある可能性があります。 新しいディレクトリは同じドライブ上に存在する必要があります。

既定では、名前はMAX_PATH文字に制限されています。 この制限を 32,767 文字のワイド文字に拡張するには、パスの先頭に "\\?\" を付けます。 詳細については、「ファイル、パス、および名前空間の名前付けする」を参照してください。

先端

Windows 10 バージョン 1607 以降では、事前に "\\?\" なしでMAX_PATHの制限を削除することをオプトインできます。 詳細については、「名前付けファイル、パス、および名前空間の」の「パスの最大長制限」セクションを参照してください。

戻り値

関数が成功した場合、戻り値は 0 以外です。

関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError呼び出します。

備考

MoveFile 関数は、同じディレクトリ内またはディレクトリ間で、ファイルまたはディレクトリ (子を含む) を移動 (名前変更) します。 1 つの注意事項は、移動先が別のボリュームにある場合、MoveFile 関数がディレクトリの移動時に失敗することです。

ファイルがボリューム間で移動された場合、moveFile は、ファイルを含むセキュリティ記述子を移動しません。 ファイルには、宛先ディレクトリの既定のセキュリティ記述子が割り当てられます。

MoveFile 関数は、その操作をリンク追跡サービスと調整するため、リンク ソースは移動時に追跡できます。

Windows 8 および Windows Server 2012 では、この関数は次のテクノロジでサポートされています。

テクノロジー サポート
サーバー メッセージ ブロック (SMB) 3.0 プロトコル はい
SMB 3.0 透過的フェールオーバー (TFO) コメントを表示する
SMB 3.0 とスケールアウト ファイル共有 (SO) コメントを表示する
クラスター共有ボリューム ファイル システム (CsvFS) はい
回復性のあるファイル システム (ReFS) はい
 

SMB 3.0 では、継続的な可用性機能を備えたファイル共有上の代替データ ストリームの名前変更はサポートされていません。

手記

winbase.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして MoveFile を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winbase.h (Windows.h を含む)
ライブラリ Kernel32.lib
DLL Kernel32.dll

関連項目

CopyFile

ファイル管理機能の

MoveFileEx の

MoveFileTransacted の

MoveFileWithProgress の