Articles of 转义

批处理脚本(bat或cmd) – &符号之前的空格(或自动转义符号)

注意:我知道^符号可以用来在批处理脚本中转义符号。 但是我需要自动完成转义,因为path是在运行时构build的。 下面的示例脚本仅仅是显示问题,而不是实际的脚本。 脚本输出后请阅读我的解释。 由于某些原因,批处理脚本中的命令对于path中的与号( & )符号performance不佳。 假设你有一个test.cmd或test.bat脚本,如下所示: set TEST=AE echo %TEST% set TEST="AE" echo %TEST% set TEST=AE echo %TEST% set TEST="AE" echo %TEST% set TEST=A & E echo %TEST% set TEST="A & E" echo %TEST% set TEST=A&E echo %TEST% set TEST="A&E" echo %TEST% 这是输出: C:\>set TEST=AE C:\>echo AE AE C:\>set TEST="AE" C:\>echo "AE" "AE" […]

如何在UNIX上的$ PATH冒号冒号(:)?

我需要parsing我的应用程序中的$PATH环境variables。 所以我想知道在$PATH哪些转义字符是有效的。 我创build了一个名为/bin:d的testing目录,并在其中创build了一个名为“ funny的testing脚本。 如果我用绝对path调用它,它会运行。 我只是无法弄清楚如何逃生:在$PATH我试图用\逃避冒号,并将其包装成单引号和双引号,但总是当我运行的时候which funny它找不到它,我正在运行CentOS 6。

使用相同的方式逃脱FileNames Bash做到这一点

当我在bash使用“tab”键时(当你开始input文件名并且你想要它完成时), bash正确地转义文件名,如果我恰好使用那个“转义”文件名,它就可以工作。 例如: An-Beat – Mentally Insine (Original Mix).mp3 =>在bash之后使用“TAB” An-Beat\ -\ Mentally\ Insine\ \(Original\ Mix\).mp3 我正在寻找一个bash的函数,它将以与“tab”转义文件名相同的方式来转义文件名。 提前致谢。

batch file:在for循环中转义问号

这个for循环(简化的例子); @echo off for %%a in (help -help –help /help ? /?) do ( echo %%a ) 扼stream圈上的2个元素用'?' 字符。 它输出 C:\Temp>test.bat help -help –help /help C:\Temp> 所以当它碰到第一个“?”时就会退出循环。 这组合适的转义序列是什么? 尝试了一堆东西,双引号,插入符号,反斜杠等,但似乎没有工作。

如何在Bash / Grep中转义单引号?

我想用grepsearch一个看起来像这样的string: something ~* 'bla' 我试过这个,但是shell删除了单引号argh .. grep -i '"something ~* '[:alnum:]'"' /var/log/syslog 什么才是正确的search?

窗口C系统调用命令中的空格

我无法使用名称和参数中的空格进行系统调用。 例如: system("c:\\program files\\something\\example.exe c:\\my files\\example.txt"); 我已经尝试过以任何我知道的方式逃避,没有任何作品。 我努力了: system("\"c:\\program files\\something\\example.exe\" \"c:\\my files\\example.txt\""); 和 system("c:\\program^ files\\something\\example.exe c:\\my^ files\\example.txt"); 既没有工作。 我仍然得到'C:\程序'不是一个recongnised内部或外部命令 这真的让我疯狂…我需要调用并传递参数,其中有空格。 我不能使用简短的符号,因为我不会进入。 我用“引号”而不是“引号”进行了尝试,但仍然不起作用。我尝试过在整个事件中引用引号,并且引用了这些空格,并且不起作用。 有谁知道如何正确地做到这一点?

如何在Windows命令行中逃避参数?

我需要从Windows 7的命令行运行以下命令: SumatraPDF.exe -inverse-search "\"C:\Program Files\eclipse\inverse_search.bat\" \"%f\" %l" 不过,我需要修改一下,因为我的Eclipse安装位于这里: C:\Program Files (x86)\Eclipse (C++) 我如何正确地逃避这条线? 我是否需要避免括号和加号呢? 还是仅仅是为了摆脱双引号?

在给定的variables中跳出百分号

我的第一篇文章,大多数问题已经解决了这个友好提供知识在这里。 但是现在我用完了一个关于在cmd.exe中处理有毒字符的问题。 假设在双引号中包含给定的stringvariables。 大部分毒物字符已经被普通字符replace,左边的字符是“&”,“(”,“)”和“%”。 之后,该string必须回显到不带引号的文件中。 所以我有这个想法逃避毒药人物的三倍: @echo off & setlocal ENABLEEXTENSIONS SET AlbumArtist=%1 CALL :EscapePoisonChars %AlbumArtist% AlbumArtist_VDN SET "FlacHyperLink==hyperlink^("file://%AlbumArtist_VDN%"^;"LossLess"^)") echo %FlacHyperLink% echo %AlbumArtist_VDN% endlocal &GOTO:EOF :EscapePoisonChars @echo off & setlocal ENABLEEXTENSIONS SET TmpString=%1 SET TmpString=%TmpString:&=^^^&% SET TmpString=%TmpString:(=^^^(% SET TmpString=%TmpString:)=^^^)% endlocal&SET %2=%TmpString:~1,-1%&GOTO :EOF 当我打电话给我的脚本上面,我得到了预期的输出 – 除了缺less的百分号: G:\YAET\20130204_Work>TryAmper.bat "100% Rock & Roll (7' UpMix)" =hyperlink("file://100 Rock & […]

在C#中使用/或\\用于文件夹path

在C#中编写文件path时,我发现我可以写“C:\”或“C:/”之类的东西,并获得相同的path。 哪一个被推荐? 我听说某个地方使用单个/比使用\更为推荐(使用\作为转义序列)。

如何使用batch file中的if-clause中的括号来转义variables?

运行这个batch file @echo off set a=some value with (parentheses) inside if 1 == 1 ( set PATH=%a% ) inside was unexpected at this time. 错误。 如何逃避avariables,以避免这个错误?