请问bat如何将文件名称修改成文件详细信息里的“备注”?
发布网友
发布时间:2022-05-13 15:50
我来回答
共2个回答
热心网友
时间:2023-10-15 02:57
不清楚你的实际文件/情况,仅以问题中的样例/说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行/*&cls
@echo off
rem 将多个文件以右键菜单属性里的详细信息选项卡中的备注项的值来重命名
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
for /f "tokens=1* delims=|" %%a in ('dir /a-d/b *.mf4^|cscript -nologo -e:jscript "%~f0"') do (
echo;"%%b" --^> "%%a%%~xb"
)
:end
echo;%#% +%$%%$%/%@% %z%
pause
exit
*/
var fso=new ActiveXObject('Scripting.FileSystemObject');
var n=0;
var sa=new ActiveXObject('Shell.Application');
var tmpfolder=sa.NameSpace(0);
for(var i=0;i<350;i++){if(tmpfolder.GetDetailsOf(null, i) == '备注'){n=i;break;}}
if(n==0){WSH.StdErr.WriteLine('Cannot find the specified item');WSH.Quit();}
while(!WSH.StdIn.AtEndOfStream){
var line=WSH.StdIn.ReadLine();
var f=fso.GetFile(line);
var objFolder=sa.NameSpace(f.ParentFolder.Path);
var objItem=objFolder.ParseName(f.Name);
var value=objFolder.GetDetailsOf(objItem, n).replace(/^\s*|\s*$/g,'');
if(value != ''){WSH.echo(value+'|'+line);}
}
热心网友
时间:2023-10-15 02:58
这个bat应该实现不了,写个小软件可以。
或者写个vbs脚本也可以,但是要安装一个微软的插件。