Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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
Loops MS-DOS 6.22中的循环语法错误_Loops_Batch File_Dos_Virtual Pc - Fatal编程技术网

Loops MS-DOS 6.22中的循环语法错误

Loops MS-DOS 6.22中的循环语法错误,loops,batch-file,dos,virtual-pc,Loops,Batch File,Dos,Virtual Pc,我正在尝试一个脚本,以便在运行MS DOS 6.22的虚拟PC上获取上次修改的日期。 但每当我找到一个包含循环的解决方案时,它就会在控制台中显示语法错误。 以下是其中一行代码: for /d %%a in ("C:\log") do echo Modified date: %%~ta dos 6.22是否与循环不兼容?我对这个版本有很多限制(不能使用robocopy、date等)。循环语法是受支持的,但有点有限(另请参见获取/?) 所以根本没有开关 正如我所记得的,在大多数情况下,用DOS捕捉

我正在尝试一个脚本,以便在运行MS DOS 6.22的虚拟PC上获取上次修改的日期。 但每当我找到一个包含循环的解决方案时,它就会在控制台中显示语法错误。 以下是其中一行代码:

for /d %%a in ("C:\log") do echo Modified date: %%~ta

dos 6.22是否与循环不兼容?我对这个版本有很多限制(不能使用robocopy、date等)。

循环语法是受支持的,但有点有限(另请参见
获取/?

所以根本没有开关

正如我所记得的,在大多数情况下,用DOS捕捉数据是不可能的。
即使拆分一个简单的字符串也很难

但是,如果您确实需要它(或者对它感兴趣),您可以使用
FOR
循环将字符串拆分为第一个字符,其余的按

for %%A in (/%var%) do echo %%A
但是保存第一个角色有点棘手

或者您可以使用
edlin
debug
解析字符串

诸如请求文件最后修改日期之类的高级功能是ms dos无法实现的

但是为什么不从主机上尝试访问VM的内部文件系统呢?

然后还可以使用所有现代技术,如cmd.exe batch

是的,循环语法仅在Windows(NT 4.0及更高版本)中可用。MS-DOS不支持它。但是你到底为什么要使用MS-DOS呢?在这种情况下,你唯一的希望就是
goto
。。。这么说很伤人,但似乎是唯一的办法。请参见以下示例。。。我深深地祝你好运(我不认为在这种环境下工作是你的选择…)。顺便问一下:MS-DOS自
2001-12-31以来就不受支持了。为什么这个软件/脚本仍在这个遗留平台/操作系统中开发?事实上,我需要从WindTurbine收集数据,机器运行在这个糟糕的MS DOS版本上,经过很长时间我可以激活文件共享并复制一些数据。但我想自动完成,一个10分钟的例行程序,我被困在这一点上。这个版本太有限了。谢谢你的回答:)
for %%A in (/%var%) do echo %%A