Archive

Posts Tagged ‘Windows’

Win10 DISM离线安装.net framework

June 16th, 2020 No comments

Win10 DISM离线安装.net framework

DISM(Deployment Image Servicing and Management)就是部署映像服务和管理 (DISM.exe) 用于安装、卸载、配置和更新脱机 Windows(R) 映像和脱机 Windows 预安装环境 (Windows PE) 映像中的功能和程序包。

安装.net framework, windows系统安装盘位置为E:盘

Dism /Online /Enable-Feature /FeatureName:netfx3 /Source:E:\sources\sxs

其他用途

1.扫描映像,查看映像是否有损坏(有损坏时电脑会遇到许多小问题,比如可能无法更新系统)

Dism /Online /Cleanup-Image /ScanHealth

2.最后是修复系统映像文件

Dism /Online /Cleanup-Image /RestoreHealth

使用本地源修复镜像,可以是windows安装光盘,或者虚拟光驱加载ISO文件

Dism /Online /Cleanup-Image /RestoreHealth /Source:c:\test\mount\windows /LimitAccess

PE环境下也可以用ImageFile方式,直接使用windows image格式文件

Dism /Apply-Image /ImageFile:X:sourcesinstall.wim /Index:1 /ApplyDir:C:

参考
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/what-is-dism

Categories: 系统管理 Tags: ,

windows右键快速创建功能按键

November 9th, 2018 No comments

每天都需要在同一个目录下建立当日日期命名的文件夹,
就偷懒想把这个功能做到WINDOWS的右键。

STEP1.新建一个.reg文件,写入以下内容

Windows Registry Editor Version 5.00
 
[HKEY_CLASSES_ROOT\Directory\Background\Shell\CMD_NAME]
"MUIVerb"="日期文件夹"
"Icon"="shell32.dll,3"
"Position"="top"
 
[HKEY_CLASSES_ROOT\Directory\Background\Shell\CMD_NAME\command]
@=“COMMAND”

Read more…

Categories: 系统管理 Tags: ,

Windows Server 2012 GUI与Core的切换

December 19th, 2016 No comments

使用Hyper-V方案对服务器进行虚拟化实验,为了节省时间和提高安全性,安装Windows Server 2012 时直接安装成Microsoft Server 2012 Core。安装完毕后只有一个cmd命令提示符可以用。服务器管理各种不方便,考虑切换为GUI模式后再切换为Core模式。

切换GUI模式需要手动安装Windows Server的GUI组件
Server-Gui-Mgmt-Infra
Server-Gui-Shell
使用
Install-WindowsFeature
Uninstall-WindowsFeature
命令即可完成Windows功能的安装和删除

Read more…

w_char*和char *转换宽窄字符

June 29th, 2016 No comments

w_char*和char*在windows编程过程中进行转换是经常需要的,通常由互联网我们取到都是utf-8编码,到windows应用程序里面却需要用unicode编码。
一开始用stdlib.h 下wcstombs_s和mbstowcs_s的代码实现,发现总是转换失败和出错。
char 转 WCHAR 、wchar_t、LPWSTR ,窄字符转宽字符,C++代码

//+------------------------------------------------------------------+
//| char to WCHAR 、wchar_t、LPWSTR etc                              |
//+------------------------------------------------------------------+
static char* WStr2CStr(const wchar_t* WStr)
  {
             // 长度设置
              size_t len = wcslen(WStr) + 1;
              size_t converted = 0;
              // 准备转换的对象
              char *CStr;
              CStr=(char*)malloc(len*sizeof(char));
              // 转换
              wcstombs_s(&converted, CStr, len, WStr, _TRUNCATE);
              // 返回
              return CStr;
  }

Read more…

Categories: 语言编程, 零敲碎打 Tags: , ,

Windows下实现Deamon守护脚本

June 28th, 2016 No comments

最近需要在Windows服务器上保持程序长期允许,因为程序比较老,无法用srvany.exe 改写成windows服务,只能自己手动编写守护脚本实现,网上找了短比较靠谱的守护脚本,在此mark一下。支持监视进程、端口。

守护脚本定义部分

@echo off
 
::检测时间间隔,单位:秒
set _interval=5
 
::需要守护的进程名称
set _processName=ProcessName
 
::需要守护的进程启动命令
set _processCmd=C:\xxxx.exe
 
::需要守护的进程预估启动完毕所需时间,单位:秒
set _processTimeout=10
 
::需要守护的进程所监听的端口
set _port=8080
 
::进程用户名,一般是Administrator
set _username=Administrator

Read more…

Categories: 零敲碎打 Tags: , ,

[Redis] 解决Redis运行时Cannot save in background问题

August 28th, 2015 No comments

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。

Redis运行时经常出现 Cannot save in background. 问题,通常因为两个原因
1.Redis的占用的内存过大,导致BGSAVE时系统无法分配足够的内存给BGSAVE进程而导致错误。
碰到这种情况时,你可以这样操作,限制Redis的最大内存大小到系统内存的一半以内。
设置redis的内存可以在redis.conf 中修改 maxmemory 属性

   maxmemory  # 系统实际安装内存的一半以内,实验环境的话建议不要超过1/3

Read more…

强制清空系统本地DNS缓存

July 29th, 2015 No comments

本地DNS缓存被GFW污染时,需要手动强制清理本地的DNS缓存。通常只需要修复一下网络连接即可。使用命令方式处理也很简单,下面是Windows/Mac OS/Linux/Unix环境下使用命令强制清空系统本地DNS缓存的方法。

1.Windows环境下,可以使用以下命令:

ipconfig /flushdns

2.Mac OS X 环境下,通常可以使用以下命令:

sudo dscacheutil -flushcache

Read more…