web-dev-qa-db-ja.com

Windows 7コマンドラインでファイルをコピーする-指定されたファイルが見つかりません

これは私が何年もの間バッチファイルを作成していて、それほど問題がなかった愚かな質問であることを知っています...私は、ファイルをフォルダーにコピーするバッチファイルを作成しようとしています。 t機能させる。

cd C:\Program Files (x86)\Steam\SteamApps\common\Skyrim\Data\
copy FifthGenerationMage.bsa C:\Users\Mark Collins\Desktop\DATA
copy FifthGenerationMage.bsl C:\Users\Mark Collins\Desktop\DATA
copy FifthGenerationMage.ckm C:\Users\Mark Collins\Desktop\DATA
copy FifthGenerationMage.esp C:\Users\Mark Collins\Desktop\DATA
pause

これはうまくいくでしょう?コピーしますか?このようにすると、構文が正しくないと表示されます。

私がこれをするとき:

copy C:\Program Files (x86)\Steam\SteamApps\common\Skyrim\Data\FifthGenerationMage.bsa C:\Users\Mark Collins\Desktop\DATA
copy C:\Program Files (x86)\Steam\SteamApps\common\Skyrim\Data\FifthGenerationMage.bsl C:\Users\Mark Collins\Desktop\DATA
copy C:\Program Files (x86)\Steam\SteamApps\common\Skyrim\Data\FifthGenerationMage.ckm C:\Users\Mark Collins\Desktop\DATA
copy C:\Program Files (x86)\Steam\SteamApps\common\Skyrim\Data\FifthGenerationMage.esp C:\Users\Mark Collins\Desktop\DATA

「指定されたファイルが見つかりません」と表示されます。

それらの両方が動作するはずです。わかりません。

5
Mark Collins

パスにスペースが含まれている場合は、次のようにパス全体を"で囲む必要があります。

copy "C:\Program Files (x86)\...\FifthGenerationMage.bsa" "C:\Users\...\DATA"

また、変数を使用してターゲットパスを格納し、スクリプトを簡略化することをお勧めします。

set skyrimdata="C:\Program Files (x86)\Steam\SteamApps\common\Skyrim\Data"
set target="C:\Users\Mark Collins\Desktop\DATA"

copy "%skyrimdata%\FifthGenerationMage.bsa" %target%
copy "%skyrimdata%\FifthGenerationMage.bsl" %target%
copy "%skyrimdata%\FifthGenerationMage.ckm" %target%
copy "%skyrimdata%\FifthGenerationMage.esp" %target%

なぜ機能しないのですか?

見て:

|     | 1         | 2    | 3               | 4      |5      |
 copy   C:\Folder   with   spaces\file.txt   E:\Some folder

システムはそれを次のように読み取ります。

1-パラメーター1(コピーコマンドの場合-ソース1)

2-パラメータ2(コピーコマンドの場合-ソース2)

3-パラメーター3(コピーコマンドの場合-ソース3)

4-パラメーター4(コピーコマンド-ソース4用)

5-パラメーター5(コピーコマンドの場合-ターゲット)

C:\Folderwithspaces\file.txtファイルまたはディレクトリがありません-エラーが発生します:

システムは、指定されたファイルを見つけることができません。

10
Kamil