@Echo off
:: +-----------------------------------------------+ ::
:: | BAT-GO团员wkdxz At:2010-08-21 13:58:43 | ::
:: +-----------------------------------------------+ ::
setlocal enabledelayedexpansion&pushd %~dp0
(for %%b in ("D:\My Documents\01" "D:\My Documents\02" "D:\My Documents\03" "D:\My Documents\04") do for /f "delims=" %%a in ('dir /s/b/a-d "%%~b\a" 2^>nul') do (
set xz=%%~ta
echo %%~nxa,%%~dpa,!xz:~,10!))>xzcsv
set /p choise=是否要立刻打开列表文件(y/n)[y]:
if /i "%choise%"==n (exit /b) else start "" xzcsv
新建一个Excel文件,将原文件名、修改后文件名按照中格式,输入到表中。(行数不限)
新建一个txt文件,将表格内容复制到txt文件中。
将新建的txt文件另存为“重命名bat”
将bat文件与需要重命名的文件放在同一文件夹下面,然后双击“重命名bat”
不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xxbat,编码选ANSI,跟要处理的文件放一起双击运行
<# :cls&echo off&cd /d "%~dp0"&mode con lines=5000
rem 将当前目录里多个jpg文件按照拍摄日期划分/归类到不同文件夹里
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "current=%cd%"
powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$b=[Convert]::FromBase64String("IC0tPiA=");
$c=[TextEncoding]::DefaultGetString($b);
Add-Type -AssemblyName 'Systemdrawing';
$current=$env:current;
$files=@(dir -literal $current|{(@("jpg","jpeg") -contains $_Extension) -and ($_ -is [SystemIOFileInfo])});
for($i=0;$i -lt $fileslength;$i++){
$t='';
$img=[SystemDrawingImage]::FromFile($files[$i]FullName);
foreach($it in $imgPropertyItems){
if($itId -eq 0x9003){
$t=[SystemTextEncoding]::ASCIIGetString($itValue) -replace '\x00$','';
break;
}
}
$imgDispose();
if($t -ne ''){
$newfolder=($ttrim()replace(':','-') -split '\s+')[0];
if(-not (test-path -literal $newfolder)){[void][IODirectory]::CreateDirectory($newfolder);}
$files[$i]Name+$c+$newfolder;
}
}
一种方法是使用一个命令行工具叫做 TimeBackexe,它可以修改文件的创建时间和修改时间。您可以下载这个工具,并将它和一个批处理脚本放在同一个文件夹下,然后运行批处理脚本。批处理脚本的内容大致如下:
@echo off
for %%a in (mp4) do (
for /f "tokens=1-6 delims=/: " %%b in ('TimeBack /f "%%a" ^| find "创建时间"') do (
ren "%%a" "%%a-%%b%%c%%d-%%e%%fmp4"
)
)
这个脚本会遍历当前文件夹下的所有 mp4 文件,读取它们的创建时间,并在文件名后面加上日期和时间。如果您想修改时间格式或者其他细节,您可以根据自己的需要修改脚本。
另一种方法是使用一个软件叫做 Bulk Rename Utility,它是一个强大的批量重命名工具,支持多种规则和选项。您可以下载并安装这个软件,然后打开它,选择您想要重命名的 mp4 文件,在右侧的面板中设置好重命名规则,并点击开始按钮。重命名规则中有一个选项叫做 Date (7) ,它可以让您根据文件的创建日期或者修改日期来重命名文件。您可以在这里选择合适的日期格式和分隔符。
以下批处理能实现:
1、每次检查1txt的修改时间
2、与上一次记录的时间对比
3、相同不做任何处理,不同则在2_logtxt中记1笔时间变化记录
4、更新2txt的时间
请把下面的批处理存为mymonitorbat
@echo off
@if not exist 2txt @for /f "tokens=1,2 delims= " %%a in ('dir d:\1txt^|find "20"') do @echo %%a %%b>2txt
@for /f "tokens=1,2 delims= " %%a in ('dir d:\1txt^|find "20"') do @echo %%a %%b>_2txt
@set /p old= <2txt
@set /p new= <_2txt
@if not %old%==%new% (
@echo Record %date% %time%: file %1 modified time changed to %new%>>2_logtxt
@del 2txt
@ren _2txt 2txt
)
自动发送邮件这个我就没办法了,有个smtpsendexe可以实现cmd下发邮件,但您的域里必须有台smtp服务器才行,如果您有那从网上就能下载,写好命令加到最后一行括号前就行了。
以上就是关于高分求助-用bat命令获取文件名、文件路径、修改日期并列表全部的内容,包括:高分求助-用bat命令获取文件名、文件路径、修改日期并列表、bat 获得当前时间然后重命名一个文件、bat或其他命令执行获取图片创建时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)