1

私は次のことをしようとしています:ディレクトリを検索し、コミットされていないファイル(新規、追加、または更新)を見つけ、見つかった各ファイルについて、ファイルの名前の一部を含むタグでコミットします。(異なる名前の異なるファイルは、_ _*.* の形式です)。アンダースコア間のファイル名の部分は、タグとして使用し、ファイル名からコミットする前に削除したいものです。

現在、私は次のものを持っています:

@echo off
SETLOCAL ENABLEEXTENSIONS
SETLOCAL DISABLEDELAYEDEXPANSION


set SOURCE=C:\Users\Public\Documents\AutomatedTests\File_listings_export\
set batsourse=C:\Users\Public\Documents\
set SVN=C:\Program Files\TortoiseSVN\bin\

set file_name=
set pkg_number=
set new_file_name=
set empty=Y

cd %SOURCE%



svn status | findstr "^?" >> %batsourse%newfiles.txt

for /f %%i in (%batsourse%newfiles.txt) do set empty=N
if %empty%==Y (
echo No new files. Nothing to commit. Exiting.
del %batsourse%\newfil*.txt 
exit /b
) 

for /f "tokens=* delims=?" %%a in (%batsourse%newfiles.txt) do echo %%a >> %batsourse%newfile1.txt
for /f "tokens=* delims= " %%a in (%batsourse%newfile1.txt) do echo %%a >> %batsourse%newfile2.txt


for /f "tokens=* delims=" %%a in (%batsourse%newfile2.txt) do (
set file_name=%%a
for /f "usebackq tokens=2* delims=_" %%b in  (%batsourse%newfile2.txt) do (
setlocal ENABLEDELAYEDEXPANSION
call set pkg_number=%%b   

call set new_file_name=%%file_name:!pkg_number!=%%

move /y !file_name! !new_file_name!
endlocal

cd %SOURCE%
svn add . --force
svn up
svn commit -m "Product pkg number: "%%b --targets %SOURCE%"*__*.*"
svn up

)
)


del %batsourse%\newfil*.txt
exit /b

何が間違っているのかわかりませんが、ファイルごとのコミットは機能しません。実際には、最初の 1 つのタグを持つすべてのファイルをコミットします...

ありがとう。

4

1 に答える 1