2016-05-13 4 views
1

バッチファイルを使用していくつかのファイルをコピーしようとしています。バッチを使用してファイルをコピーできない

これは動作しません:

@echo off 
for /R "C:\Users\User\Documents\Folder FolderA FolderB\Folder\Folder FolderC FolderD\Folder\Folder" %%f in (*.inc) do copy %%f /R "\\10.1.10.156\c\Folder1\Folder 2\Folder3" 

これは動作します:

@echo off 
for /R "C:\Users\User\Documents" %%f in (*.inc) do copy %%f "\\10.1.10.156\c\Folder1\Folder 2\Folder3" 

私も%cd%"C:\Users\User\Documents\Folder FolderA FolderB\Folder\Folder FolderC FolderD\Folder\Folder"を交換し、私はこれが関係しているように私は感じるのでFolderA was unexpected at this timeを言ってエラーを得ましたフォルダ内のスペースはFolder FolderA FolderBですが、動作させることはできません。

+1

「コピーする」と試すことができます。%% f「...」 –

答えて

1

まず、コピーステートメントには/Rがあるはずです。

第2に、@Dennis van Gilsが示唆するように、copyステートメントの変数%%fの前後に引用符を付ける必要があります。そして、ここに理由です:このコマンドで

for /R "C:\a folder with\spaces\" %%f in (*.inc) do copy %%f "\\destination\folder" 

変数%%fC:\a folder with\spaces\filename.incに展開されます。

copy C:\a folder 

を - そしてC:\aが有効なソースではなく、folderが有効な宛先ではないので、それはチョーク:だからcopyはこれを使用しようとすると、それは見ています。だから、あなたは次のように変数の前後に引用符を置く場合:それはに拡大する

rem ---------------------quotes around this variable-----VVVVV 
for /R "C:\a folder with\spaces\" %%f in (*.inc) do copy "%%f" "\\destination\folder" 

copy "C:\a folder with\spaces\filename.inc" "\\destination\folder" 

、あなたはそれが期待通りに動作するはずです。

+0

これが見つかりました!ありがとう。 –

関連する問題