Windows命令提示:转义引号内的特殊字符

Windows命令提示:转义引号内的特殊字符,windows,command-line,special-characters,quotations,Windows,Command Line,Special Characters,Quotations,我想使用以下命令将tar.gz文件与7-Zip解压: forfiles /M *tar.gz /C "cmd /c "C:\Program Files\7-Zip\7z" e @path" 但是我不能让它工作,因为程序文件中有空格。我怎样才能逃脱呢 更新: 我的替代方案是: set 7ZPath="C:\Program Files\7-Zip\7z" %7ZPath% e *.tar.gz forfiles/M*tar.gz/C“cmd/C”%ProgramFiles%\7-Zip\7z“e

我想使用以下命令将tar.gz文件与7-Zip解压:

forfiles /M *tar.gz /C "cmd /c "C:\Program Files\7-Zip\7z" e @path"
但是我不能让它工作,因为
程序文件中有空格。我怎样才能逃脱呢

更新:

我的替代方案是:

set 7ZPath="C:\Program Files\7-Zip\7z"
%7ZPath% e *.tar.gz

forfiles/M*tar.gz/C“cmd/C”%ProgramFiles%\7-Zip\7z“e@path”

必须将forfiles命令字符串中的引号转义为
\“


这将使代码更健壮,如果它工作的话-使用环境变量而不是硬编码使代码更具可移植性。但这并不能解决引号不齐导致空白的问题。
forfiles /M *tar.gz /C "cmd /c \"C:\Program Files\7-Zip\7z\" e @path"