web-dev-qa-db-ja.com

バッチ-相対パスを使用してファイルをコピーする

私はバッチの初心者です。バッチコマンドで\Debug\test.extのファイルを..\..\newにコピーしたいと思います。

copy "\Debug\text.txt" "..\..\new"を試しましたが、「指定されたファイルが見つかりません」というエラーが表示されます

25
Dan

\でパスを開始する場合、それは絶対パスであり、相対パスではありません。代わりにcopy "Debug\text.txt" "..\..\new"を試してください

37
Stephan

Debug subdirがある場合は試してください

md   "..\..\new" >nul 2>&1
copy ".\Debug\text.txt" "..\..\new"

mdは、newディレクトリを作成します(まだない場合)。

1
npocmaka

これは、正しいパスを指定していないことを意味します。必ずファイルの正しいフルパスを指定してください。 。

「\ Debug\text ....」の代わりに、「C:\ Debug\text ...」のようなパス全体を指定します

0
Stunner

Copyコマンドの実行にbatを使用している場合、構文は次のようになります。

bat 'copy "C:\\ Program Files(x86)\\ ApplicationFiles \\ firstfolder \\ application.yml" "C:\\ Program Files(x86)\\ ApplicationFiles \\ secondfolder \\ application.yml"'

上記のコマンドには2つの主なものがあります。

  1. ファイルパスにスペースが含まれている場合は、パスを二重引用符で囲みます。
  2. 一部のコマンドラインツールではファイルパスをエスケープする必要があるため、Windowsファイルパスの使用中にエスケープ文字を使用します。したがって、「\」を使用する代わりに「\\」を使用します。これは、CI/CDツールでbatコマンドを実行しているときに役立ちます。
0
Manish Bhakuni