我在某个 unix 服务器中有一些文件。当我复制到windows时,根据文件名,文件必须复制到相应的年份、相应的月份和相应的日期文件夹中。示例文件名:20120201.117_visual_sciences_web_feed.out.gz。要根据文件名的第一部分创建的文件夹结构,在这种情况下: 20120201(YYYY,MM,DD) 。在上面的示例中,文件名应复制到 2012 -> 02-> 01 文件夹中。如果未创建文件夹,则应创建文件夹 老实说,我不知道如何实现,请建议。
问问题
1313 次
1 回答
0
这应该为您解决问题-
@echo off
set filename=20120201.117_visual_sciences_web_feed.out.gz
set filepath=PATH\TO\%filename%
REM get the date from the file name
for /f "delims=." %%A in ("%filename%") do set fdate=%%A
REM Y=YEAR; M=MONTH; D=DAY
set Y=%fdate:~0,4%
set M=%fdate:~4,2%
set D=%fdate:~6,2%
REM echo %Y% %M% %D%
REM check to see if directories exist
if not exist \%Y% mkdir %Y%
if not exist \%Y%\%M% mkdir %Y%\%M%
if not exist \%Y%\%M%\%D% mkdir %Y%\%M%\%D%
REM copy the file to the newly created destination folder
copy %filepath% %Y%\%M%\%D%\%filename%
pause
我希望您能够轻松地将其实现到您的脚本中。正如所指出的;如果您从脚本中添加了一些示例 - 我将能够提供更多帮助。
于 2013-11-05T23:44:39.513 回答