0

我在某个 unix 服务器中有一些文件。当我复制到windows时,根据文件名,文件必须复制到相应的年份、相应的月份和相应的日期文件夹中。示例文件名:20120201.117_visual_sciences_web_feed.out.gz。要根据文件名的第一部分创建的文件夹结构,在这种情况下: 20120201(YYYY,MM,DD) 。在上面的示例中,文件名应复制到 2012 -> 02-> 01 文件夹中。如果未创建文件夹,则应创建文件夹 老实说,我不知道如何实现,请建议。

4

1 回答 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 回答