Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
windows批处理文件没有';行不通_Windows_File_Batch File - Fatal编程技术网

windows批处理文件没有';行不通

windows批处理文件没有';行不通,windows,file,batch-file,Windows,File,Batch File,我有一个批处理文件,它不工作。有趣的是,所有的命令都在cmd窗口内运行 批处理文件中的非工作-故障行: for /F %%i in ('dir /B C:\Users\Jacek2\Desktop\USB\test\1\depesza*') do ( move /Y C:\Users\Jacek2\Desktop\USB\test\1\"%%i" C:\Users\Jacek2\Desktop\USB\test\1\depesza.cvs && start /wait E

我有一个批处理文件,它不工作。有趣的是,所有的命令都在cmd窗口内运行

批处理文件中的非工作-故障行:

    for /F %%i in ('dir /B C:\Users\Jacek2\Desktop\USB\test\1\depesza*') do (
move /Y C:\Users\Jacek2\Desktop\USB\test\1\"%%i" C:\Users\Jacek2\Desktop\USB\test\1\depesza.cvs && start /wait E:\EasyPHP-12.0\mysql\bin\mysqlimport.exe --columns=typ_raportu,kod_stacji --user=root --password= --host=127.0.0.1 --fields-enclosed-by="\"" --fields-terminated-by="," --fields-escaped-by="" test C:\Users\Jacek2\Desktop\USB\test\1\depesza.csv)
从CMD窗口:

    c:\>for /F %i in ('dir /B C:\Users\Jacek2\Desktop\USB\test\1\depesza*') do move
/Y C:\Users\Jacek2\Desktop\USB\test\1\"%i" C:\Users\Jacek2\Desktop\USB\test\1\de
pesza.cvs && start /wait E:\EasyPHP-12.0\mysql\bin\mysqlimport.exe --columns=typ
_raportu,kod_stacji --user=root --password= --host=127.0.0.1 --fields-enclosed-b
y="\"" --fields-terminated-by="," --fields-escaped-by="" test C:\Users\Jacek2\De
sktop\USB\test\1\depesza.cvs
当我从批处理文件中删除下面的代码时,批处理文件可以工作

&& start /wait E:\EasyPHP-12.0\mysql\bin\mysqlimport.exe --columns=typ_raportu,kod_stacji --user=root --password= --host=127.0.0.1 --fields-enclosed-by="\"" --fields-terminated-by="," --fields-escaped-by="" test C:\Users\Jacek2\Desktop\USB\test\1\depesza.csv)

有人知道为什么吗?

试试这个。如果不是cmd长度的问题,则进一步使用双引号作为窗口标题。最重要的是“停止这个问题”

start "" and the rest of your command

我建议用批处理文件中的行和直接在cmd中编写的内容不相似来转义
&
。检查它,然后重新解释发生了什么?意外的结果?错误消息?解释!命令行“for”没有正确执行,甚至没有将txt文件作为cvs文件移动,我不知道是否有任何错误,因为我无法停止批处理脚本(尝试在批处理文件末尾暂停)我刚刚尝试并复制了C:\Users\Jacek2\Desktop\USB\test\1\depesza.cvs C:\Users\Jacek2\Desktop\USB\test\1\depesza1.cvs,所以我可以说问题出在start命令Ok上,所以我已经按照您所说的那样完成了start和rest命令中的“有一个进程,一个文件被移动为cvs,然后我收到错误消息windows找不到”--字段以=、结尾,“。请确保键入的名称正确,然后重试。现在它与“只是再次检查它,可以说第二部分&&start…由于错误消息仍然没有执行,但移动工作奇怪的是为什么我可以在cmd窗口中运行此命令,但无法在.bat文件中运行它?我唯一更改的是%I(在窗口cmd中运行)到%%I(以.bat文件运行)如Microsoft网站上所建议。您是否将命令放在
”中?它应该在
之后。这是我放置命令的方式,并且出现了如上所述的错误。&&start/wait“E:\EasyPHP-12.0\mysql\bin\mysqlimport.exe--columns=typ_raportu,kod_stacji--user=root--password=--host=127.0.0.1--fields括在=“\”--fields terminated by=“,”--fields escape by=”“test C:\Users\Jacek2\Desktop\USB\test\1\depesza.csv”只需阅读福克斯的答案20次,并将代码改为:&&start/wait“E:\EasyPHP-12.0\mysql\bin\mysqlimport.exe--columns=typ_raportu,kod_stacji--user=root--password=--host=127.0.0.1--fields由=“\”--fields terminated by=“,”--fields escaped by=”“test C:\Users\Jacek2\Desktop\USB\test\1\depesza.csv括起,命令现在可以工作了。你知道我为什么要把“在批处理文件中启动后,但不是在cmd窗口模式下运行同一命令时?您能再解释一下吗?是否要我编写&^&^?我已尝试:……depesza.cvs^&^&start/wait E:\EasyPHP-12.0\……现在两个命令都不能工作”“move”“and”“start”我不熟悉
mysqlimport.exe
——可能是
\“
来逃避
所包含的
本身需要转义。
findstr
也存在类似的问题。也许额外的一对
`可以解决批处理问题。这也可能解释了
windows找不到'--字段以=,'结尾。`错误。解析器的设计真的不是为了处理复杂表达式。过去15年中所做的更改实际上,没有经过特别仔细的考虑,整个机制必须用一只眼睛来维护现有的过程。奇怪的是,它居然能工作……问题在于命令启动参数“title”:指定要在命令提示窗口标题栏中显示的标题。这对我来说是新的。我认为窗口标题是可选的。我可以用php或python编写相同的代码,但我决定将其作为批处理文件来编写,并充分利用系统提供的工具。此外,我还不明白为什么代码是e从cli执行时没有问题,但批处理文件(相同的代码)不是。顺便说一句,我喜欢并完全同意您的“关于我”。