我有一个批处理文件,用户在其中输入文件的路径,然后从该路径中提取文件名。
我使用该文件名创建一个同名的文件夹。
在该文件夹中,我想创建一个 log.txt 文件,我在批处理文件中调用的进程可以将其日志消息写入其中。
这是代码:
set /p pathFoFile="Enter path fo file: "
FOR %%i IN ("%pathFoFile%") DO (
set outputFolder=%%~ni
)
someprocess -p1 blabla -p2 blabla -p3 %outputFolder% > %outputFolder%\log.txt
最后一部分,%outputFolder%\log.txt
,似乎是问题所在,因为当我刚刚输入时它就起作用了> log.txt
然而,当我回应这一点时:
echo %outputFolder%\log.txt
它打印正确的路径。
如何使用文件夹名称并创建此 log.txt 文件?
EDIT
我得到的路径可能如下所示:
..\some\folder\thefile.egf
or just
thefile.egf
或绝对路径。
我提取
thefile
并想致电:
someprocess -p1 blabla -p2 blabla -p3 thefile > thefile\log.txt
文件夹thefile
含有log.txt
应该相对于批处理文件创建。路径中没有驱动器号。
我使用时遇到的错误%outputFolder%\log.txt
or "%outputFolder%\log.txt"
就是系统找不到路径。
如果路径中有空格,请使用引号。
someprocess -p1 blabla -p2 blabla -p3 "%outputFolder%" > "%outputFolder%\log.txt"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)