Board logo

标题: 80元求自动删除和者覆盖字体文件 [打印本页]

作者: 任驰骋    时间: 2020-3-18 10:51     标题: 80元求自动删除和者覆盖字体文件

要求:
到设定时间自动删除c:\windows\fonts文件夹下面安装的指定字体
到设定时间自动用同文件名字体覆盖安装字体到c:\windows\fonts
作者: flashercs    时间: 2020-3-18 12:31

本帖最后由 flashercs 于 2020-3-18 12:50 编辑
  1. @echo off
  2. net session >nul 2>&1
  3. if errorlevel 1 (
  4.   mshta vbscript:CreateObject("Shell.Application"^).ShellExecute("%~s0","","","runas",1^)(window.close^)
  5.   exit /b
  6. )
  7. set time2start=14:26
  8. set fontold=vani.ttf
  9. set fontnew=d:\fonts\vani.ttf
  10. schtasks.exe /Create /RU "NT AUTHORITY\SYSTEM" /TN "Changefont" /TR "cmd.exe /c \"takeown /f %windir%\Fonts ^& del %windir%\fonts\%fontold% ^& copy /y \"%fontnew%\" %windir%\fonts\%fontold%\"" /SC ONCE /ST %time2start% /F /RL HIGHEST
复制代码

作者: qazplm    时间: 2020-3-18 16:10

  1. <# :
  2. cls
  3. @echo off
  4. rem 有问题,可加QQ956535081及时沟通
  5. title %info%
  6. cd /d "%~dp0"
  7. powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%~dp0'"
  8. echo;%info%
  9. pause
  10. exit
  11. #>
  12. #运行时间
  13. $runtime='17:00';
  14. While(1){
  15. $now=(get-date).toString('HH:mm');
  16.     if($now -ge $runtime){
  17.         break;
  18.     }else{
  19.         write-host 'waiting,the time is not up';
  20.         Start-Sleep -Seconds 2;
  21.         cls;
  22.     };
  23. }
  24. #删除字体
  25. $list=@(
  26.     'C:\Windows\Fonts\xxx.ttf'
  27. );
  28. Add-Type -TypeDefinition @'
  29.     using System;
  30.     using System.Runtime.InteropServices;
  31.     public static class RemoveFornt
  32.     {
  33.         [DllImport("gdi32")]
  34.         public static extern int RemoveFontResource(string lpFileName);
  35.     }
  36. '@;
  37. $regpath='HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts';
  38. for($i=0;$i -lt $list.length;$i++){
  39.     if(test-path -liter $list[$i]){
  40.         [RemoveFornt]::RemoveFontResource($list[$i]);
  41.         del -liter $list[$i] -force;
  42.         $filename=$list[$i].split('\')[-1];
  43.         $key=Get-Item $regpath;
  44.         $values=Get-ItemProperty $key.PSPath;
  45.         foreach($value in $key.Property)
  46.         {
  47.            $tmpname=$values.$value.split('\')[-1];
  48.            if($filename -eq $tmpname){
  49.                 write-host ($value+'='+$values.$value);
  50.                 Remove-ItemProperty $regpath -name $value;
  51.            }
  52.         }
  53.     }else{
  54.         write-host ('[uninstall]"'+$list[$i]+'" not found');
  55.     };
  56. }
  57. #安装字体
  58. $list=@(
  59.     'D:\xxx\yyy.ttf'
  60. );
  61. $sa=New-Object -ComObject 'Shell.Application';
  62. for($i=0;$i -lt $list.length;$i++){
  63.     if(test-path -liter $list[$i]){
  64.         $sa.NameSpace(20).CopyHere($list[$i]);
  65.     }else{
  66.         write-host ('[install]"'+$list[$i]+'" not found');
  67.     };
  68. }
复制代码





欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2