根据月份中的天数创建文件的批处理文件

根据月份中的天数创建文件的批处理文件

更新

这在我的办公室电脑上不起作用。当我将当前月份的日期指定为 2 时,它抛出以下数据:-

本月有多少天:2 月为(空白) 日为(空白) 年份为(空白) 本月有 2 天 C:\Documents and Settings\Desktop\hi\act\01--.xls C:\Documents and Settings\Desktop\hi\act\2--.xls C:\Documents and Settings\Desktop\hi\act\Master File.xls 已复制 1 个文件。 C:\Documents and Settings\Desktop\hi\act\01--.xls C:\Documents and Settings\Desktop\hi\act\06-Mar-2012.xls C:\Documents and Settings\Desktop\hi\act\2--.xls C:\Documents and Settings\Desktop\hi\act\Master File.xls 已复制 1 个文件。 C:\Documents and Settings\Desktop\hi\act\01--.xls C:\Documents and Settings\Desktop\hi\act\06-Mar-2012.xls C:\Documents and Settings\Desktop\hi\act\Master File.xls 已复制 1 个文件

以下是原始问题

每个月的每一天都有一个 Excel 文件。我需要根据日期为每一天创建 Excel 文件。

例如:一月份有 31 天,因此每个月文件夹中的 Excel 文件将是

01-01-12.xls
02-01-12.xls
03-01-12.xls
...
31-01-12.xls

是否可以?


我在文件中尝试了这个.bat但我不知道如何构建循环:

@For /F "tokens=1,2,3 delims=/" %%A in ('Date /t') do @( 
Set Day=%%A
Set Month=%%B
Set Year=%%C
Set All=%%A%%B%%C
)

@For %%a in ("*.xls") do copy %%a "import\%All%.xls"

答案1

@echo off
set /P max=How many Days this month:  

for /f "tokens=1-3 delims=- " %%a in ('date /T') do @(
    set y=%%c
    set m=%%b
    set d=%%a

)

echo The Month is %m%
echo The Day is %d%
echo The Year is %y%
echo the Month is %max% days long
set d=01
Set /a max=%max%+1

:loop

SET adate=%d%-%m%-%y%

if not exist "C:\Documents and Settings\NGLD7640\Desktop\hi\act\%adate%.xls" copy "C:\Documents and Settings\NGLD7640\Desktop\hi\act\Master File.xls" "C:\Documents and Settings\NGLD7640\Desktop\hi\act\%adate%.xls"

set /a d=%d%+1

if not %d%==%Max% goto loop

代码根据以下进行调整和定制这次讨论和 @巴洛普

答案2

这是将创建今天的文件的一行程序。

echo "" > { echo (gettime()+".xls") }

这是在 biterscripting 中。将其放入文件 x.txt 文件中,然后通过任务计划程序安排此命令每天运行。

C:/biterscripting/biterscripting.exe x.txt

相关内容