Windows 10批处理以及Powershell入门

tips:在任何目录按住shift键,鼠标右键菜单会多出一个有用的菜单:“在此处打开 Powershell 窗口”。
如何实现批量删除文件名中出现的字符串?用python?其实用Windows自带的批处理就可以:

@echo off & setlocal enabledelayedexpansion

for /f “delims=” %%1 in (‘dir /a /b’) do (set wind=%%1

ren “%%~1” “!wind:需要删除的字符串=!”)
以上批处理script解析:

@echo off
关闭回显,注意Windows下的批处理文件编码为ANSI,如果是UTF-8,这条命令会提示错误
具体原因是什么?内码有何差异?因为编码问题引起的邮件内容错误,我当年通过perl程序处理过,用python如何实现呢?

&
连接批处理语句的左右,前后可以没有空格

setlocal enabledelayedexpansion
延迟环境变量扩展,Windows批处理对变量进行整行初始化,类似C++中的静态变量。
注意:设置变量延迟,变量用单引号才起作用。
参考:批处理中setLocal EnableDelayedExpansion的作用详细整理

dir /a /b
/a代表显示指定属性的文件,含系统文件与隐藏文件,例如dir /a:d显示目录
/b代表只显示文件名
参考:dir命令

for /f
参考:批处理学习:for语句详解【经典】
批处理 %~1和%1有什么区别

这个删除的批处理如何实现替换字符串功能?

http://www.pstips.net/

怎样学习Powershell,有没有比较好的书籍?