.cpp
指定した場所からすべてのファイルをコピーするバッチスクリプトを作成しました。ファイルをコピーできますそしてフォルダ構造は保持されますが、コピーされたファイル名は適切に展開されません。これは可能な古いバージョンもありますが、すべてターゲットフォルダから新しいフォルダへ。新バージョンの目標はのみ特定のファイルタイプをコピーします。
XCOPY
ファイル名を適切に展開し、フォルダーの内容をすべてコピーする構文は次のとおりです。
ECHO D | XCOPY "%USERPROFILE%\Documents\Visual Studio 2017\Projects" "Backup\Projects" /S /Q /N
コピーされたファイル タイプのファイル名を展開できない新しい構文を次に示します。
ECHO F | XCOPY "%USERPROFILE%\Documents\Visual Studio 2017\Projects\*.cpp" "Backup\Projects\" /S /Q /N
以下は、ターゲット ディレクトリで取得する短縮/非展開ファイル名の例です。
WRNM~1.CPP
。
プロンプトオーバーライドコマンドが切り替わるかどうかはわかりません(/S /Q /N
)これに影響していますが、コピーされるファイルの数が膨大であるため、プロンプトを上書きする必要があります。また、新しい構文でファイルをコピーしているにもかかわらず、スイッチを使用しXCOPY
てターゲットをディレクトリとして定義した場合でも、ファイルをコピーできることにも注意してください。D
答え1
答え2
NTFS の短いファイル名またはディレクトリ名を使用してコピーを作成します。/n は、NTFS ボリュームから FAT ボリュームにファイルまたはディレクトリをコピーする場合、またはコピー先のファイル システムで FAT ファイル システムの命名規則 (つまり、8.3 文字) が必要な場合に必要です。コピー先のファイル システムは、FAT または NTFS にすることができます。
古いバージョンの xcopy では/n
適切に処理されませんでした。xcopy /?
オプションの意味が変わったかどうか、それぞれ確認してください。