Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Datetime 用于特定日期时间的文件_Datetime_Batch File_For Loop_Forfiles - Fatal编程技术网

Datetime 用于特定日期时间的文件

Datetime 用于特定日期时间的文件,datetime,batch-file,for-loop,forfiles,Datetime,Batch File,For Loop,Forfiles,我试图列出在特定日期时间后修改的文件。例如,june 8 20:29,但我很难找到forfiles的这些选项。 你知道forfiles是否有datetime选项,或者我应该使用不同的选项吗? 下面是我的批处理文件 NET USE b: /DELETE NET USE b: "\\networkddrive\users\username" /PERSISTENT:YES CHCP 1252 > NULL forfiles /p b:\ /s /m *.txt /d +"06/08/2018

我试图列出在特定日期时间后修改的文件。例如,
june 8 20:29
,但我很难找到forfiles的这些选项。 你知道forfiles是否有datetime选项,或者我应该使用不同的选项吗? 下面是我的批处理文件

NET USE b: /DELETE
NET USE b: "\\networkddrive\users\username" /PERSISTENT:YES
CHCP 1252 > NULL
forfiles /p b:\ /s /m *.txt /d +"06/08/2018 14:22" /c "cmd /c echo @path @fdate @ftime"  > "b:\listfiles.txt"

forfiles
将不处理时间部分,只处理日期。 我建议使用Powershell脚本:

param (
[string]$ds=((Get-Date).AddDays(-10)).ToString()
)

$dt=(Get-Date $ds)
Get-ChildItem -Path "B:\" -Filter "*.txt" | Where {($_.LastWriteTime -ge $dt)} | Sort-Object LastWriteTime,Name

将此脚本存储在*.ps1文件中以运行它。(可选)参数是可以解释为日期的字符串,如“1.4.2017 17:00”。任意默认值为“现在减去10天”。

对于文件
只能根据日期而不是时间进行筛选。查看这是否符合您的需要。提示:不要将驱动器号
A:
B:
用于真正的软盘驱动器以外的其他驱动器。将这两个字母用于网络资源,USB存储介质或硬盘很容易导致意外行为,因为
cmd.exe
和Windows内核句柄在某些情况下,文件系统对
A:
B:
的访问不同,即使驱动器不是真正的软盘驱动器。
CHCP 1252>NULL
重定向
%SystemRoot%\System32\chcp.com
将代码页更改为Windows-1252,以在当前目录中创建空文件(如果可能),而不是通过将其重定向到设备
NUL来抑制此输出。