【发布时间】:2019-07-10 13:55:26
【问题描述】:
程序一碰到第二个 FOR 循环FOR /F %inputDir% %%F in (*.jpg) do 就在没有警告的情况下退出
我在 Windows 10 机器上运行,移动和重命名图片
我已经尝试过设置断点和标志,但无济于事。我什至尝试在 FOR 循环 (FL) 中只使用一个虚拟负载(只是一个回显然后暂停),因为我从某个地方了解到批处理一次执行整个 FL。我未尝试过使用延迟扩展,但愿意学习如何使用。
@echo off
echo LOADING CONFIG
cd "Batch stuff"
FOR /F "tokens=1,2 delims=&" %%A in (config.txt) do (
REM echo %%A
REM echo %%B
SET inputDir=%%A
SET outputDir=%%B
)
echo inputDirectory: %inputDir%
echo outputDirectory: %outputDir%
echo CONFIG LOADED
echo Continue?
pause
FOR /F %inputDir% %%F in (*.jpg) do (
echo here
pause
cls
echo openning: %%F
echo newName:
SET /P newName=Enter a new name for this image:
cls
echo openning: %%F
echo newName: %newName%
echo Hit space to continue or exit the program (manually)
pause
REM CALL nameAndMove %%F %newName%
)
预期结果: 第二次 FL 运行 打开图片 新名称的提示 清屏 重新显示信息(文件路径和新名称)并要求确认 调用 WIP 子程序(即使我没有调用子程序,FL 也不起作用)
我无法看到任何错误消息,因为程序在我有机会看到任何错误消息之前就退出了。即使在第二个 FOR 循环之后使用暂停功能,我仍然无法让程序冻结。我认为这与不正确的语法有关,因为 FL 因虚拟负载而失败。
文件路径:
【问题讨论】:
标签: batch-file