svn提交带标记的文件-每个文件的文件名的一部分

svn提交带标记的文件-每个文件的文件名的一部分,svn,batch-file,tags,commit,Svn,Batch File,Tags,Commit,我尝试执行以下操作:搜索一个目录,查找未提交的文件(新的、添加的或更新的),并使用包含部分文件名的标记来提交找到的每个文件。(具有不同名称的不同文件的格式为_**)。下划线之间的文件名部分是我希望用作标记的部分,并在从文件名提交之前将其删除 目前我有以下几点: @echo off SETLOCAL ENABLEEXTENSIONS SETLOCAL DISABLEDELAYEDEXPANSION set SOURCE=C:\Users\Public\Documents\AutomatedTe

我尝试执行以下操作:搜索一个目录,查找未提交的文件(新的、添加的或更新的),并使用包含部分文件名的标记来提交找到的每个文件。(具有不同名称的不同文件的格式为_**)。下划线之间的文件名部分是我希望用作标记的部分,并在从文件名提交之前将其删除

目前我有以下几点:

@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
不确定我做错了什么,但每个文件的提交不起作用。它实际上提交了所有带有第一个标记的文件


谢谢。

您的代码没有指定要提交的文件,您正在执行大量的
svn添加。
svn提交,没有文件名作为参数。更改代码,以便

svn添加%filename%

然后


svn ci%filename%-m%tag%

谢谢你的建议,我已经更新了我正在使用的bat文件。但出于某种原因,它会将我的文件标记为冲突文件,实际上不会提交任何内容。它只重命名第一个文件,但不提交任何内容,并将其余文件标记为冲突。C:\Users\Administrator>C:\Users\Administrator\Desktop\update\u Prod\u files\u exports。bat 1文件已移动。svn:E155015:'C:\Users\Public\Documents\AutomatedTests\File\u listings\u export\filelog\u 2.2.00122\u win7x64.log'是冲突中的现有项;在此处添加新项目之前,请将冲突标记为已解决。更新“.”:修订版552787。svn:E155015:提交失败(详细信息如下):svn:E155015:中止提交:'C:\Users\Public\Documents\AutomatedTests\File_li stings\u export\filelog\u 2.2.00122\u win7x64.log'仍存在冲突这是修改后的代码:for/f“tokens=*delims=“%%a in(%batsourse%newfile2.txt)do(设置文件名=%a for/f)”usebackq tokens=2*delims=%%b in(%batsourse%newfile2.txt)do(setlocal ENABLEDELAYEDEXPANSION调用set pkg_number=%%b REM echo!pkg_number!REM echo%%b调用set new_file_name=%%file_name:!pkg_number!=%%move/y!file_name!!new_file_name!endlocal cd%源%svn添加。%new_file_name%--强制svn up svn提交%new_file_name%%m“产品包装号:”%%B这是否是因为我的“setlocal”在此之前结束?如果您有冲突,则需要解决它们,但您最初的问题指出,您的问题是批处理脚本一次提交所有文件,并且您希望它一次提交一个文件。冲突需要人为干预,除非您只需要像保留他们的
或使用我的或类似的东西