[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理中带引号命令输入文本文件的问题[已解决]

本帖最后由 vydz 于 2022-5-3 00:46 编辑

(Get-Content r:\5.html) -replace 'var mvid=.*','var mvid="50005";'  |  Set-Content r:\5.html
或者
(Get-Content r:\5.html) -replace 'var mvid=“.*','var mvid="50005";'  |  Set-Content r:\5.html
========================================
想把上面这命令通过echo写到r:\tmp.ps1这个文件里,能写的多个双引号,不多双引号的不能写。
1、失败
echo (Get-Content r:\5.html) -replace 'var mvid=.*','var mvid="%LastFile%";'  |  Set-Content r:\5.html >r:\tmp.ps1
2、失败
echo (Get-Content r:\5.html) -replace 'var mvid=".*','var mvid="%LastFile%";'  |  Set-Content r:\5.html >r:\tmp.ps1
3、能写,但是最后多了个双引号
echo (Get-Content r:\5.html) -replace 'var mvid=".*','var mvid="%LastFile%";'  |  Set-Content r:\5.html" >r:\tmp.ps1

谢谢楼上的,主要是看到第3种能输出就没往转义上想,现在改了下就能用了,就把需要转义的符号前都加个^就行了。
echo (Get-Content r:\5.html) -replace 'var mvid=.*','var mvid=^"%LastFile%^";'  ^|  Set-Content r:\5.html >r:\tmp.ps1

TOP

|要转义义^|

TOP

返回列表