所以我的批处理文件应该这样做:
我有几百个WinRAR生成的“(名称).part???.rar”文件,我想把这些文件放到生成的文件夹树中。
它应该将前10个文件(从001到010)放入一个名为001 (而不仅仅是1个)的新文件夹中。然后取下一个十(011-020),并将它们放入002。
我通过自动添加零修正了所有的东西,并且测试了所有的变量,但是我无法让实际的文件运动正常工作。
以下是我想要执行的:
move "%FILENAME%" %LOOP2%\%LOOP2%,它只是var %循环%(从1开始,每10圈就有+1 ),前面有所有所需的零(so 007、035和455等)。
%文件名%来自更多变量:
set FILENAME=%NAME%.part%COUNT2%.rar% name %保存文件/file/filepack (?)我想搬家。“拆分文件.part001.rar”将是“拆分文件”(用户输入)
%COUNT2 2%从1开始并增加每个循环,直到它匹配用户输入的%% var,这是最后一个文件号(例如,468)。它来自我不想更改的%COUNT 2%,所以我创建了%COUNT 2%。
我几乎什么都试过了,但有时cmd告诉我没有找到文件或目录,或者它突然关闭,显示了“不能在这里语法地使用”的内容。(这条消息也是从德语翻译过来的!)
人们谈论很多关于把双百分号,双引号,或者没有引号等等,我尝试了大多数组合,但我仍然无法使它工作。谁能给我正确的语法,告诉我在哪里和如何使用引号和双%符号?
我知道我的代码,这篇文章非常混乱,但我仍然在学习:) Ofc,我问了Google博士和Stackoverflow博士,但我认为我的案例有点具体。
发布于 2014-04-24 02:47:32
您没有显示您的代码,也无法猜测问题是什么,所以我创建了自己的代码:
@echo off
setlocal EnableDelayedExpansion
set /P "NAME=Enter name of file/files/filepack (NO quotes): "
set /P "NUMBER=Enter number of files to copy: "
set /A COUNT2=1000, LOOP2=1000
for /L %%i in (1,1,%NUMBER%) do (
set /A COUNT2+=1, COUNT2mod10=COUNT2 %% 10
if !COUNT2mod10! equ 1 (
set /A LOOP2+=1
md !LOOP2:~1!
)
move "%NAME%.part!COUNT2:~1!.rar" !LOOP2:~1!
)https://stackoverflow.com/questions/23250130
复制相似问题