每个用户配置文件目录中都存在一个文件,我需要从每个用户配置文件目录中的文件中删除该行。我使用批处理脚本遍历每个用户配置文件目录,键入文件,使用 findstr 不显示该行,然后将输出重定向到其自身。无论出于什么原因,这都不会删除该行。
SET ProfileBase=%SystemDrive%\Documents and Settings
for /f "tokens=*" %%a in ('dir /b /ad-h "%ProfileBase%"') do type "%ProfileBase%\%%a\myfile" | findstr /v display >> :%ProfileBase%\%%a\myfile"
答案1
使用 win32 版本sed
和find
是不可能的吗?这些版本可以轻松实现*。此外,PowerShell 可能值得一看。
*)
find /path/to/files -type f -iname 'filename' -execdir sed -i -e '/^exact line you want to disappear$/d' {} \;