0

このコードはバッチ (gitcopyfiles.bat) ファイルにあり、git の変更されたファイルを追跡して指定したフォルダーにコピーしますが、機能しません。

for /f "usebackq tokens=*" %A in (`git diff-tree -r --no-commit-id --name-only
--diff-filter=ACMRT HEAD~1 HEAD`) do echo FA|xcopy "%~fA" "C:\git_changed_files\%A"

ただし上記のコマンドをコマンドプロンプトから直接実行するとうまくいきます。そのため、バッチファイルだけでは機能しません。

誰が間違っている可能性がありますか? 管理者としてbatファイルを実行しようとしましたが、それでもうまくいきません

バットファイルに表示されるエラーメッセージは次のとおりです。

~fA" "C:\git_changed_files\A" was unexpected at this time.

D:\wamp\www\myproject>for /f "usebackq tokens=*" ~fA" "C:\git_changed_files\A"
4

2 に答える 2

1

これを実行してください:

@echo off
for /f "delims=" %%A in ('git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT HEAD~1 HEAD') do xcopy "%%A" "C:\git_changed_files\"
于 2013-09-17T12:32:25.297 に答える