Batch file 检查文件,然后创建
我试图制作一个简单的批处理文件,获取用户输入,搜索是否存在,如果不存在,创建文件 我可以用它的硬编码运行测试,但当我添加变量时,它将不会运行 我还让它回显完整路径(变量在末尾),这看起来是正确的Batch file 检查文件,然后创建,batch-file,Batch File,我试图制作一个简单的批处理文件,获取用户输入,搜索是否存在,如果不存在,创建文件 我可以用它的硬编码运行测试,但当我添加变量时,它将不会运行 我还让它回显完整路径(变量在末尾),这看起来是正确的 @echo off set /p store="New DayCamp Number: (Example: 0050 or 3015) " IF EXIST "X:\path\%Store%.txt" ( break>"X:\path\%Store%.txt" ) ELSE ( REM Do No
@echo off
set /p store="New DayCamp Number: (Example: 0050 or 3015) "
IF EXIST "X:\path\%Store%.txt" (
break>"X:\path\%Store%.txt"
) ELSE (
REM Do Nothing
)
echo "X:\path\%Store%.txt"
pause
下一个代码段也应该这样做:
@echo off
set /p store="New DayCamp Number: (Example: 0050 or 3015) "
break>>"X:\path\%Store%.txt"
解释:用粗体将下面的语句组合起来:
说:
将命令输出重定向到文件命令>文件名
追加到文件中命令>>文件名
break/?
表示:
这是为了与DOS系统兼容。它几乎没有效果
在Windows下
然而,使用set/p
的结果需要一些测试来检查:用户是否只点击了回车键(即回车键),并且可能是一个空字符串。例如,基本检查
@echo off
set /p store="New DayCamp Number: (Example: 0050 or 3015) "
if NOT "%Store%"=="" break>>"X:\path\%Store%.txt"
您的描述显示,如果文件不存在,您希望创建该文件。如果它存在,您正在创建它。基本上覆盖了它。因此,如果您还没有阅读
if
命令的帮助文件,您需要使用not
选项。@Squashman就是这样。。。犯了愚蠢的错误,并把它倒过来了。作为答案提交,我将标记为已解决。谢谢你的精彩答案!