我在目录c:\ test中有数百个文件,对于每个文件,我想创建一个从001开始的带有子文件夹proofRead的连续编号目录。然后我想使用infozip(zip.exe)压缩每个文件夹,维护文件夹路径并删除原始文件夹,如下所示:
步骤
文件c:\ test \ proj123.sdlxliff 转到c:\ test \ 001 \ proofRead \ proj123.sdlxliff zip文件夹c:\ test \ 001到001.zip维护文件夹结构 删除文件夹和内容c:\ test \ 001
文件c:\ test \ anotherproj.sdlxliff 移动到c:\ test \ 002 \ proofRead \ anotherproj.sdlxliff zip文件夹c:\ test \ 002到c:\ test \ 002.zip维护文件夹结构 删除文件夹和内容c:\ test \ 002等。
我发现这个批处理文件使用文件名%dpna重命名文件夹,但我不知道如何添加增量编号。
@echo off
for %%a in ("c:\test\*") do (
if not "%%~fa"=="%~f0" (
if not exist "%%~dpna\" md "%%~dpna\proofRead"
if exist "%%~dpna\" move /y "%%~fa" "%%~dpna\proofRead"
)
)
任何帮助表示感谢。
更新:这是我在有关如何使用计数器的有用提示之后使用的工作批处理文件。
@echo off
setlocal EnableDelayedExpansion
set counter=1
for %%a in ("c:\test\*") do (
set suffix=000!counter!
echo %%a - Processing file: !suffix:~-3!
if not "%%~fa"=="%~f0" (
if not exist "\proofRead" md "proofRead"
if exist "proofRead" move /y "%%~fa" "proofRead" && c:\test\zip\zip.exe -r !suffix:~-3! proofRead && rmdir /s /q proofRead
set /a counter+=1
)
)
答案 0 :(得分:0)
以下是如何在批处理文件中包含增量计数器的示例。这应该可以帮助您继续处理批处理文件的其余部分:
@Echo off
setlocal EnableDelayedExpansion
set counter=1
for %%a in ("*.*") do (
set suffix=00000!counter!
echo %%a - This is counter number: !suffix:~-5!
set /a counter+=1
)