Batch file 批处理-使用创建日期从目录复制/归档文件。 很好的一天!
所以,我想做的是:Batch file 批处理-使用创建日期从目录复制/归档文件。 很好的一天!,batch-file,Batch File,所以,我想做的是: 归档在所选月份创建的所有文件类型文件,并将其移动到其他目录 创建备份文件夹,其中包含所选月份共同响应的所有文件类型文件 这是我此刻所拥有的: ECHO OFF COLOR 9E CLS :MENU ECHO( ECHO( ............................................... ECHO( Choose month of the year. ECHO( .................................
ECHO OFF
COLOR 9E
CLS
:MENU
ECHO(
ECHO( ...............................................
ECHO( Choose month of the year.
ECHO( ...............................................
ECHO(
ECHO 1 - January
ECHO 2 - February
ECHO 3 - March
Echo 4 - April
Echo 5 - May
Echo 6 - June
Echo 7 - July
Echo 8 - August
Echo 9 - September
Echo 10 - October
Echo 11 - November
Echo 12 - December
ECHO 13 - EXIT
ECHO(
SET /P M= Type prefered month, then press ENTER:
IF %M%==1 GOTO JANUARY
IF %M%==2 GOTO FEBRUARY
IF %M%==3 GOTO MARCH
IF %M%==4 GOTO APRIL
IF %M%==5 GOTO MAY
IF %M%==6 GOTO JUNE
IF %M%==7 GOTO JULY
IF %M%==8 GOTO AUGUST
IF %M%==9 GOTO SEPTEMBER
IF %M%==10 GOTO OCTOBER
IF %M%==11 GOTO NOVEMBER
IF %M%==12 GOTO DECEMBER
IF %M%==13 GOTO EOF
:January
cd C:\Users\PC\Desktop\Folder
[I am stuck here]
cls
GOTO MENU
:February
cd C:\Users\PC\Desktop\Folder
[I am stuck here]
cls
GOTO MENU
:MARCH
cd C:\Users\PC\Desktop\Folder
[I am stuck here]
cls
GOTO MENU
:APRIL
cd C:\Users\PC\Desktop\Folder
[I am stuck here]
cls
GOTO MENU
:MAY
cd C:\Users\PC\Desktop\Folder
[I am stuck here]
cls
GOTO MENU
:JUNE
cd C:\Users\PC\Desktop\Folder
[I am stuck here]
cls
GOTO MENU
:JULY
cd C:\Users\PC\Desktop\Folder
[I am stuck here]
cls
GOTO MENU
:AUGUST
cd C:\Users\PC\Desktop\Folder
[I am stuck here]
cls
GOTO MENU
:SEPTEMBER
cd C:\Users\PC\Desktop\Folder
[I am stuck here]
cls
GOTO MENU
:OCTOBER
cd C:\Users\PC\Desktop\Folder
[I am stuck here]
cls
GOTO MENU
:NOVEMBER
cd C:\Users\PC\Desktop\Folder
[I am stuck here]
cls
GOTO MENU
:DECEMBER
cd C:\Users\PC\Desktop\Folder
[I am stuck here]
cls
GOTO MENU
我的问题是,我所在的公司不使用未经许可的软件。为了节省一些钱,他们在工作电脑上安装了7zip
所以,我的问题是:
这个脚本对我来说很适合你的任务。将
dir
值更改为实际文件夹路径。将此脚本保存到其他文件夹中的test.bat,并从open Cmd提示符运行。脚本采用日期格式[DD:MM:YYYY]
。若要将其与格式[MM:DD:YYYY]
一起使用,请将所有出现的中的0替换为3!克蒙:~0,2代码>。如果有任何错误,请告诉我:
@echo off
setlocal enabledelayedexpansion
set "mes1=Enter the month letter"
set dir=%userprofile%\Desktop\Folder
COLOR 9E
CLS
:MENU
ECHO(
ECHO( ...............................................
ECHO( Choose month of the year.
ECHO( ...............................................
ECHO(
ECHO J - January
ECHO F - February
ECHO M - March
Echo P - April
Echo Y - May
Echo N - June
Echo L - July
Echo U - August
Echo S - September
Echo O - October
Echo V - November
Echo D - December
ECHO X - EXIT
ECHO(
choice /c JFMPYNLUSOVDX /n /m "%mes1%: > " /t 10 /d X
IF %errorlevel% equ 13 (GOTO :end
) else if %errorlevel% LEQ 9 (set i=0%errorlevel%) else (set "i=%errorlevel%")
pushd "%dir%"
for /f "tokens=1,5" %%G in ('dir /o:d /a:-d "%dir%"') do (set cmon=%%G
if "!cmon:~2,1!"=="/" if "!cmon:~0,2!"=="!i!" (set cdir=!cmon:~0,2!-!cmon:~6,4!
(if not exist "!cdir!" md "!cdir!") & copy "%%H" !cdir! >nul))
pushd "!cdir!" & "c:\Program Files\7-Zip\7z.exe" a !cdir!.zip >nul & popd
:end
echo/ & echo All tasks completed
timeout 5 >nul
exit /b
要更好地了解脚本的工作原理,请参阅。此代码示例远远不是最小的…Windows资源管理器中PC上文件的修改日期显示格式是什么?另外,您希望将ZIP文件和[MM\U YYYY]备份文件夹保存到哪个路径\文件夹\名称?@Vairis您是否阅读过7-ZIP的文档(帮助文件)?它支持基于文件名列表压缩文件。因此,您需要做的就是查找所选月份内上次修改或创建的所有文件,并将它们重定向到%TEMP%
中的列表文件中,将此列表文件作为参数与其他参数(如存档文件名和开关)一起调用7-Zip,最后删除临时创建的列表文件。顺便说一下:最后一次修改文件的日期可以是3个月前的今天。你真的想用创建来代替上次修改日期吗?@Vairis提示:共享软件archiver WinRAR的单一许可证只需支付一次无限更新费用,仅需30美元。我提到这一点是因为WinRAR具有用于此类基于时间的归档任务的交换机,因此很容易完成这些任务。WinRAR本身可以根据各种-t
开关在指定的时间段内找到要存档的文件。您的公司应该考虑购买WinRAR许可证是否真的比您为免费软件archiver 7-Zip编写代码所需的时间更为昂贵,以及将来可能的其他归档任务。@Mofi对于新手来说,这项任务并不简单或明显。为体验批处理程序编写代码和调试也需要一些时间。上帝保佑那些真正喜欢帮助人们的程序员。顺便说一句,若你们不介意的话,我还有一个要求。请你解释一下,这整个剧本是如何运作的?很难对它进行分析,这就是为什么它很可能无法正常工作的原因。当脚本运行时,您可以选择显示的任何月份,但由于某种原因,当ZIP制作完成时,它会将所有文件和文件夹都推入其中,这是可以的,但我只需要。文件类型文件:P。至于在同一目录中创建备份,不幸的是它根本不起作用。基本上不起作用的内容:ZIP-已创建,但名称为空,并且包含所有文件夹和.file类型的文件,也不会发送到任何地方,因为代码中没有设置位置(这是我不理解代码的错误)。备份-未被创建。其他一切正常。您是否将dir值更改为存储要备份的文件的实际路径?脚本假定,您将所有批存储在与要备份的文件不同的目录中。它非常适合我。尝试一步一步地了解它的功能以排除故障。感谢您的帮助。我真的很感激:)希望以后能再见到你:)Zip文件与所有备份文件一起保存在新创建的目录中。文件夹不保存在.zip中,只保存文件。您可以将.zip文件保存在任何其他位置,但请通过其帮助仔细选择7zip选项,因为在这种情况下,该文件可能包含完整路径。