在windows批处理命令运行期间,从预挂起的“c:\cygdrive”停止Cygwin

在windows批处理命令运行期间,从预挂起的“c:\cygdrive”停止Cygwin,windows,batch-file,cygwin,cmd,Windows,Batch File,Cygwin,Cmd,使用此行运行朋友的批处理文件 for /F "tokens=1 delims=¶" %%i in ('which synplify_pro.exe') do set synplify_path=%%~dpi var synplify_路径设置为c:\cygdrive pre pendend 我只想要窗户的部分 有没有办法防止预挂起或仅取回windows部件?好的,您可以简单地从结果中删除该部件 如果它总是在循环后出现,您可以简单地像这样将其切断: SET synplify_path=%synp

使用此行运行朋友的批处理文件

for /F "tokens=1 delims=¶" %%i in ('which synplify_pro.exe') do set synplify_path=%%~dpi
var synplify_路径设置为c:\cygdrive pre pendend

我只想要窗户的部分


有没有办法防止预挂起或仅取回windows部件?

好的,您可以简单地从结果中删除该部件

如果它总是在循环后出现,您可以简单地像这样将其切断:

SET synplify_path=%synplify_path:~11%
SET synplify_path=%synplify_path:c:\cygdrive=%
其中11是字符串c:\cygdrive的长度。如果在有问题的字符串后面有一个\并且它也需要删除,则将其设为12

或者,您可以这样做:

SET synplify_path=%synplify_path:~11%
SET synplify_path=%synplify_path:c:\cygdrive=%
这将用一个空字符串替换%synplify_path%中c:\cygdrive的所有条目,即它将简单地删除该子字符串。如果由于某种原因,结果中可能缺少c:\cygdrive,则此方法可能会更好:如果字符串不包含c:\cygdrive,则该方法将保持字符串不变


我不确定您是否应该尝试解决路径中不喜欢c:\cygdrive的命令的问题,但是…

但是如果c:\cygdrive是文件所在的实际路径的一部分,那么删除它有什么意义?批处理文件中的下一个命令不喜欢c:\cygdrive部分。不确定如何回答您的问题回复。请运行哪个synplify_pro.exe并报告完整结果。同时显示失败的批处理文件,特别是您所说的不喜欢c:\cygdrive部分的行。+1,您击中了我所想的每一点,但懒得写:这是整个代码部分。'::如果%use_synplify%==1 for/F tokens=1 de,请检查合成版本lims=\%%i in'哪个synplify\u pro.exe'设置synplify\u path=%%~dpi如果%use\u synplify%==1 findstr/c:%exp\u syn\u ver%README%synplify\u path%\..\README.txt>NUL rem findstr/c:%exp\u syn\u ver%README c:\Program Files x86\Synplicity\fpga\u 962\bin\\\ README.txt>NUL如果出现错误级别1 echo.echo错误:synplify pro version检测到!!!goto FAIL@Mikef:老实说,我看不到路径中的c:\cygdrive可能会冒犯的部分。但是如果我仍然有疑问,我会尝试在不关闭ECHO的情况下从命令提示符运行脚本,以便能够看到问题发生的特定行。我的意思是,不仅要看到哪一行,而且要看到还要在变量求值后查看行本身,以理解为什么工作不正确。编写的代码的问题是,它在x86文件夹下使用空格操作dir路径。Cygwin根本无法处理此问题。Mike