我需要一种方法来创建一个包含文件名的目录,但是对于每个创建的文件都要计算+1。
如何在创建的目录名称前添加+1
例如:
如果存在目录1_xxx,请输入2_xxxxx
目前我在下面使用从Filename
创建目录文件名例如:Card_24ALL Sms.csv
目录输出例如:Card_24ALL Sms
目前我有手动添加+1的目录1 _
1_Card_24ALL Sms(内部复制文件卡_24ALL Sms.csv)
2_Card_25ALL短信(内部复制了文件卡_25ALL Sms.csv)
3_Tjek_24ALL Sms(文件Tjek_24ALL Sms.csv在里面复制)
使用下面的代码我可以获得包含给定文件名的目录:
@echo off
for %%a in (*.csv) do (
md "%%~na" 2>nul
move "%%a" "%%~na"
)
但我必须手动创建前面的数字以获取number_directory,因为前面的数字可以是99_
答案 0 :(得分:1)
试试这个:
@echo off
setlocal enabledelayedexpansion
@echo off
cd /d c:\temp
if exist cnt.txt for /f %%a in (cnt.txt) do set %%a
for %%a in (*.csv) do (
set /a cnt+=1
echo md "!cnt!_%%~na" 2>nul
echo move "%%a" "!cnt!_%%~na" >nul && (
Echo File %%~nxa moved to !cnt!_%%~na) || (Echo Move failed.)
)
>cnt.txt echo cnt=!cnt!
从md中删除回声并在验证输出后移动。