2014-03-05 154 views
1

我需要一种方法来创建一个包含文件名的目录,但是每创建一个目录都计数+1。批处理文件重命名和目录自动挂载

我怎么能在创建

例如目录名称前加上+1:

如果Directory 1_xxx存在化妆2_xxxxx

目前我使用下面的文件名

创建一个目录

文件名,例如:Card_24ALL Sms.csv

目录输出如:Card_24ALL短信

目前我有目录添加+1手动1_

1_Card_24ALL SMS(使用文件Card_24ALL Sms.csv内复制)

2_Card_25ALL SMS(使用文件Card_25ALL Sms.csv内复制)

3_Tjek_24ALL短信(使用文件Tjek_24ALL Sms.csv内复制)

使用下面的代码,我可以得到目录添加包含给定文件名:

@echo off 
for %%a in (*.csv) do (
md "%%~na" 2>nul 
move "%%a" "%%~na" 
) 

但我必须手动创建在前面的数字得到number_directory在前面的数字可以99_

回答

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取出回声的,一旦你验证移动输出。

+0

嗨@马特 好吧我目录:)欣赏的快速反应。 看到现在我有更多的文件我要补充及以上再重新创建文件夹1_naming 运行可以说,我跑了四个文件,并需要将目录命名继续5_1 如: 我用你的代码跑了四个文件。 所以我就 1_Naming 2_Naming 3_Naming 4_Naming 完美...我收到更多的文件每小时的我怎么能得到5_naming制成最后一个号码继续进行,而不是再次1_naming。 你对此的帮助是赞赏的。 – Bize32

+0

这很简单。我只是让它将最后一个计数写入文件并在脚本运行时读取它。 –

+0

感谢百万我会尝试,现在。谢谢。 – Bize32