更新
这在我的办公室电脑上不起作用。当我将当前月份的日期指定为 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