2017-01-18 10 views
0

バッチファイルが新しく、ネットワークドライブをOneDriveフォルダにバックアップするためのバッチファイルを作成し、自宅の作業ファイルにアクセスできるようにしました。それ以来、彼らは職場のすべてのコンピュータにOffice365をインストールすることに決めました。今はOneDriveフォルダの代わりに 'OneDrive'と呼ばれています。これは現在OneDrive-G & S Foods、Inc 'と呼ばれています。私の非常に単純なバッチファイルはOneDrivesの名前が変更されるまでうまく機能しました。名前をOneDriveだけに戻すことはできないので、バッチファイルで回避しようとしています。特別なキャラクターが私に問題を起こしているようですが、具体的には&です。私は今、次のようなエラーにパラメータ「&」は、内部または 外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていないのバッチファイル内の特殊文字confilct

無効な番号を取得します。

私の質問:特殊文字の問題を回避する最も良い方法は何ですか?ここで

は私の現在のスクリプト行は、次のとおりです。

@echo off 
xcopy j:\Brandon C:\Users\bweibley\OneDrive - G&S Foods, Inc /m /e /y 
xcopy J:\Joe's Folder\ChocScheduleBackUps C:\Users\bweibley\OneDrive - G&S Foods, Inc\ChocScheduleBackUps /m /e /y 
+0

。空白またはそれ以外の文字を含むすべてのパス/ファイル名に二重引用符を使用します。 – LotPings

+1

ベストプラクティスは、必要に応じてファイルパスを二重引用符で囲むことです。その後、心配する必要はありません。 – Squashman

答えて

1

二重引用符でパス全体を囲むことで、そう:

xcopy "j:\Brandon" "C:\Users\bweibley\OneDrive - G&S Foods, Inc" /m /e /y 

だけのスペースが入っている場合は、すでに二重引用符を使用する必要がありますそこ。だからあなたの2行目:

xcopy "J:\Joe's Folder\ChocScheduleBackUps" "C:\Users\bweibley\OneDrive - G&S Foods, Inc\ChocScheduleBackUps" /m /e /y 
1

試してみてください。ほとんどのプログラミング関連の質問ザッツ

xcopy "j:\Brandon" "C:\Users\bweibley\OneDrive - G&S Foods, Inc" /m /e /y 
xcopy "J:\Joe's Folder\ChocScheduleBackUps" "C:\Users\bweibley\OneDrive - G&S Foods, Inc\ChocScheduleBackUps" /m /e /y