我正在尝试为我的一些脚本编写测试。我正在重定向来自包含特定测试用例输入的文件的输入。我的一些脚本使用xcopy
。我注意到,即使我使用 / Y 选项禁止提示确认,xcopy
也会消耗重定向的输入。
这是一个产生这个的脚本:
@ECHO OFF
SETLOCAL
SET some_info=
SET /p some_info=Please provide info:
ECHO.
ECHO Your input was:%some_info%
xcopy /Y some_existing_file.txt some_other_existing_file.txt
SET some_info=
SET /p some_info=Please provide info:
ECHO.
ECHO Your input was:%some_info%
SET some_info=
SET /p some_info=Please provide info:
ECHO.
ECHO Your input was:%some_info%
ENDLOCAL
这是输入:
info 1
info 2
info 3
请注意,文件 some_existing_file.txt 和 some_other_existing_file.txt 都存在顾名思义。
我注意到copy
没有消耗重定向的输入,但遗憾的是我使用了/EXCLUDE
xcopy
选项并将其替换为copy
将导致许多更改我的脚本。
您是否注意到xcopy
的这种行为?有没有办法避免它而不对我的脚本进行重大更改?如果您对如何自动测试批处理脚本有其他建议,请告诉我。
答案 0 :(得分:1)
这可以在这里工作:
<nul xcopy /Y some_existing_file.txt some_other_existing_file.txt