Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 在txt列表中对文件进行zip存档-通过Bat文件使用文件夹结构_Windows_Batch File_Zip_7zip - Fatal编程技术网

Windows 在txt列表中对文件进行zip存档-通过Bat文件使用文件夹结构

Windows 在txt列表中对文件进行zip存档-通过Bat文件使用文件夹结构,windows,batch-file,zip,7zip,Windows,Batch File,Zip,7zip,我该怎么做呢。我用for循环试过了,但效果不好 有人能帮我吗?(为我的英语感到抱歉) 代码如下: @echo. @set h=%time:~0,2% @set m=%time:~3,2% @set s=%time:~6,2% @set ARCDATE=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2% @set LISTE=C:/BatchDateiHotfix/list.txt @set SAVELOC=C:\Users\gkrobath\Desktop\BatchDatei

我该怎么做呢。我用for循环试过了,但效果不好

有人能帮我吗?(为我的英语感到抱歉)

代码如下:

@echo.
@set h=%time:~0,2%
@set m=%time:~3,2%
@set s=%time:~6,2%

@set ARCDATE=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%
@set LISTE=C:/BatchDateiHotfix/list.txt
@set SAVELOC=C:\Users\gkrobath\Desktop\BatchDateiHotfix\310
@set SITOS=C:\SVN_Check\SITOS_3_10\html
@set SVNUPDATE=C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe
@set PACK="C:\Program Files\7-Zip\7z.exe" a
rem @set PACK="C:\Program Files\WinRAR\Rar.exe" a -r

@cd %SITOS%

@set /p KUNDE=Kundennamen eingeben ........... 
@echo.
@set /p NMR=TMS/OIS-Nummern eingeben ..... 

@set FILE="%SAVELOC%/%KUNDE%_hotfix_%NMR%_%ARCDATE%.zip"
@set HOTFIX=%PACK% %FILE%

@for /F %%a in (%LISTE%) do (
if not exist %%a goto errors else 
@%HOTFIX% %%a)

希望任何人都能帮助我。-

看起来只要%%a值是一个不存在的文件,您的代码就会退出。我没有看到“:errors”标签代码

不要使用
goto errors
,而是使用函数调用以继续循环

:ErrNotExist
echo.
echo. The following file does not exist:
echo. %~1
echo.
goto:eof
然后将循环代码更改为如下内容:

@for /F %%a in (%LISTE%) do (
    if not exist %%a (
       CALL:ErrNotExist %%a 
    ) else (
       @%HOTFIX% %%a
    )
)

这至少会让您更接近于了解代码中发生了什么。

此语法应该对您有所帮助,但它会在文件不存在的任何错误中退出循环

@for /F "delims=" %%a in (%LISTE%) do (
   if not exist "%%~a" (
       goto errors
     ) else (
       @%HOTFIX% "%%~a"
   )
)

在提出任何建议之前,我们需要先查看您的代码,以及您面临的错误是什么,所以最后一行是:您使用一些参数调用您的打包器。如果你用你认为你的脚本应该传递的参数手动调用它,它能工作吗?它不会生成一个zip文件——或者有时会生成,但是它只是列表中的一个随机文件。没有特殊错误或错误warnings@AlexanderKosube是的,当我用参数手动调用它时,它可以工作。错误:7-Zip无法移动文件rand_hotfix_rand_20131121.Zip.tmp1 C:\Users\gkrobath\Desktop\BatchDateiHotfix\randstad/rand_hotfix_rand_20131121.zi p Die Syntax füden Dateinamen,verzeichnisname或Datenträgerbezeichung ist falsch。系统错误:Unbekanner FehlerError:7-Zip无法移动文件rand_hotfix_rand_20131121.Zip.tmp1 C:\Users\gkrobath\Desktop\BatchDateiHotfix\randstad/rand_hotfix_rand_20131121.p文件名、目录名或卷标的语法错误。系统错误:未知错误我不使用7-Zip,但根据错误文本,它看起来像是一个系统文件,无法将文件移动到Zip文件。请尝试仅复制所需的选项。或者,您的路径或文件名可能有错误(例如,额外的空格、错误的斜杠等)。在执行它们之前,立即回显
您的
%HOTFIX%
&
“%%a”
,可能会有所帮助。比较失败的行和成功的行。