当前位置:  开发笔记 > 编程语言 > 正文

如何保护批处理文件中的引号?

如何解决《如何保护批处理文件中的引号?》经验,为你挑选了2个好方法。

我想在批处理文件中包装一个Perl单行程序.对于(平凡的)示例,在Unix shell中,我可以引用如下命令:

perl -e 'print localtime() . "\n"'

但DOS使用这个有用的错误消息扼杀了它:

在-e第1行的EOF之前的任何地方都找不到字符串终结符"'".

在.bat文件中执行此操作的最佳方法是什么?



1> brian d foy..:

对于Windows上的Perl内容,我尝试尽可能多地使用广义引用,因此我不会因为牙签综合征而感到厌恶.我保存了DOS所需内容的引号:

perl -e "print scalar localtime() . qq(\n)"

如果您只需要在打印结束时使用换行符,您可以让-l开关为您执行此操作:

perl -le "print scalar localtime()"

有关交换机可以执行的其他很酷的事情,请参阅perlrun文档.



2> tye..:

在Windows的"DOS提示符"(cmd.exe)中,您需要使用双引号而不是单引号.对于引用的Perl代码,Perl为您提供了很多选择.三是:

perl -e "print localtime() . qq(\n)"
perl -e "print localtime() . $/"
perl -le "print ''.localtime()"

如果您有Perl 5.10或更新版本:

perl -E "say scalar localtime()"

感谢JF Sebastian的评论.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有