DevelStudio下PHP生成自动过期删除程序的批处理时遇T_STRING错误求助
解决PHP脚本中unexpected T_STRING错误的问题
嗨,我看到你在DevelStudio里编写的PHP脚本遇到了第2行的unexpected T_STRING错误,这其实是个很常见的语法小疏漏,咱们一步步来搞定它。
错误根源分析
你的第2行代码缺少了PHP语句必需的结束分号,导致解析器无法正确识别语句边界:
$batcode = "forfiles -p \"c:\\kursach\" -s -m *.* /D -$edit1 /C \"cmd /c del @path\""
PHP要求每一条执行语句都必须以分号;结尾,你这里漏掉后,下一行的$file = 'run.bat';会被当成上一行的一部分,直接触发语法错误。
修正后的代码片段
给第2行补上分号即可解决这个错误:
$edit1 = c('Form2->edit1')->text; $batcode = "forfiles -p \"c:\\kursach\" -s -m *.* /D -$edit1 /C \"cmd /c del @path\"; //将被插入到run.bat的代码 $file = 'run.bat'; //批处理文件名 file_put_contents($file, $batcode . "\n\"" . EXE_NAME . "\""); //优化了拼接逻辑,添加换行符分隔内容 // 后续run()相关代码...
额外的小建议
我注意到你在file_put_contents里的字符串拼接可能存在逻辑问题:原代码会直接在批处理命令末尾拼接"EXE_NAME",如果是想在批处理中单独一行添加这个内容,建议加上换行符\n,这样批处理的命令结构会更清晰,避免出现语法问题。
内容的提问来源于stack exchange,提问作者Marko Polo
相关产品推荐
相关产品推荐

