码迷,mamicode.com
首页 > 其他好文 > 详细

bat文件中调用传参的问题

时间:2018-09-17 19:34:07      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:ssi   nes   ESS   i know   and   调用   only   ams   esc   

https://blogs.msdn.microsoft.com/twistylittlepassagesallalike/2011/04/23/everyone-quotes-command-line-arguments-the-wrong-way/

Conclusion

In general, we can safely pass arbitrary command line arguments to programs, provided we take a few basic precautions.

Do:

  1. Always escape all arguments so that they will be decoded properly by CommandLineToArgvW, perhaps using my ArgvQuote function above.
  2. After step 1, then if and only if the command line produced will be interpreted by cmd, prefix each shell metacharacter (or each character) with a ^ character.

Do not:

  1. Simply add quotes around command line argument arguments without any further processing.
  2. Allow cmd to ever see an unescaped " character.

Notes

1 Worse.
2 You did follow my links above, yes?
3 I know you didn‘t.
4 Just to be clear: CommandLineFromArgvW neither knows nor cares about cmd‘s metacharacters and looks only for " and \

 

bat文件中调用传参的问题

标签:ssi   nes   ESS   i know   and   调用   only   ams   esc   

原文地址:https://www.cnblogs.com/chucklu/p/9663587.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!