【发布时间】:2019-12-31 12:28:38
【问题描述】:
我正在创建一个在当前目录中创建文件的脚本。
@echo off
set /p file= filename and extension:
echo something_test >> %file%
但是,假设当前目录是这样的:
INSIDE (fo) main_folder: {
(fi) script.bat
(fo) somefolder
}
(fi = 文件和 fo = 文件夹;script.bat 是我正在制作的脚本)
如果我运行脚本并输入file.txt,将在(fi) script.bat 的主目录((fo) main_folder) 中创建(fi) file.txt。
现在假设我想在 (fo) somefolder 中创建它。
显而易见的事情是这样做:
@echo off
cd somefolder
set /p file= filename and extension:
echo something_test >> %file%
然后;如果我运行脚本并输入file.txt,(fi)file.txt将在(fi)script.bat的WORKING目录((fo)somefolder)中创建。
但我想做的是,只需输入 set /p 命令,在 (fo) somefolder 中创建文件,而不使用 cd 命令。
以及如何在不使用cd.. 命令的情况下,仅通过输入set /p 命令,在(fo) main_folder 的主目录中创建文件?
【问题讨论】:
-
使用
@(Echo something_test)>>"%~dp0somefolder\%file%"对我来说似乎太明显了,所以您可能没有向我们解释清楚。 -
与最后一段的
(echo something)>>"..\%file%"一样明显。所以我也觉得解释不够。 -
@Compo 和 Stephan:这正是我的意思,但我愿意接受进一步的解释,就像 T3RR0R 所做的那样。
-
那么你有没有试过我在评论中给你的那一行?如果是这样,发生了什么?你也可以使用
%CD%、@(Echo something_test)>>"%CD%\somefolder\%file%"或%__CD__%、@(Echo something_test)>>"%__CD__%somefolder\%file%"来做同样的事情。
标签: file batch-file directory