0

私は次のコードを持っています:

@echo off
cd %temp%
rd /s /q svnbackup >nul 2>&1
md svnbackup\uncomitted_db-pc
cd svnbackup\uncomitted_db-pc
type NUL>files.txt
for /F "tokens=1*" %%T in ('svn status C:\SVN-EDGE') do ( echo %%U>>files.txt && xcopy "%%U" . /E /S /I /F /H /K /X /Y /R )

次の出力が得られますfiles.txt

C:\SVN-EDGE\SomeClient\BUTCHERED.docx 
C:\SVN-EDGE\SomeClient\Development notes.txt 
C:\SVN-EDGE\SomeClient\Received\~$formation for prospective clients.docx 
C:\SVN-EDGE\SomeClient\Sales\Estimates.xlsx 
C:\SVN-EDGE\SomeClient\Sales\Specification.docx 
C:\SVN-EDGE\SomeClient\Sales\~$Estimates.xlsx 
C:\SVN-EDGE\SomeClient\Sales\~$ecification.docx 
C:\SVN-EDGE\SomeClient\removed.docx 
C:\SVN-EDGE\SomeClient\site spec1.docx 
C:\SVN-EDGE\SomeClient\~$TCHERED.docx 
C:\SVN-EDGE\SomeClient\~$emoved.docx 
C:\SVN-EDGE\SomeClient\~$te spec1.docx 

ただし、xcopyはとフォルダを内部に作成Receivedしますが、関連するファイルをとにかく最上位に配置します。Development%temp%\svnbackup\uncomitted_db-pc%temp%\svnbackup\uncomitted_db-pc

どの時点でも、フォルダは作成されSVN-EDGEませんSomeClient。これらのフォルダーが作成され、上記で個別にリストされたxcopyにフィードされたファイルが正しいサブディレクトリに配置されていることを確認するにはどうすればよいですか?

4

1 に答える 1

1

XCOPYは正常に動作しています。ソースパスで明示的に指定されたフォルダー階層は複製されません。ワイルドカード側から見つかったフォルダーのみを複製しますが、コマンドには何もありません。毎回特定のファイルをXCOPYしています。

完全にはテストされていませんが、FORステートメントを次のステートメントに置き換えることができ、すべてが希望どおりに機能するはずです。

for /F "tokens=1*" %%T in ('svn status C:\SVN-EDGE') do (
  echo %%U>>files.txt
  xcopy "%%U" ".\%%~pU" /F /H /K /X /Y /R
)
于 2013-01-13T02:37:54.450 に答える