基本上,我想使用 INSERT IGNORE INTO table_name (column1, column2, column3, ...)... Your SELECT QUERY
命令,但我无法提供实际路径。
目前我的尝试是
type
但我假设因为它是相对路径,所以它不起作用。
我与type "./TESTS/Test1.txt"
和copy
遇到了同样的问题。
我无法解决此问题或在网上找到任何内容。 有没有办法做到这一点?
编辑: 为了澄清,我试图获取我的.bat文件,以读取位于子文件夹中的.txt文件的内容(意味着子文件夹和.bat文件位于同一文件夹中),并将其打印到控制台。 / p>
答案 0 :(得分:0)
既然你现在已经编辑了你的问题,但似乎没有提供我之前评论的反馈,这里就是答案。
Windows及其命令解释程序cmd.exe
使用反斜杠 \
作为其路径分隔符。
虽然许多命令似乎可以互换地接受正斜杠,但Type
不是其中之一。
此外 .\
仅与当前工作目录相关,并且cmd.exe
中不需要,虽然有效。
因此,以下内容应如您所愿:
Type TESTS\Test1.txt
Type "TESTS\Test1.txt"
Type .\TESTS\Test1.txt
Type ".\TESTS\Test1.txt"
如果正在使用正斜杠接收批处理文件中正在使用的位置,则可以将其设置为变量,然后展开该变量,用正斜杠代替反斜杠:
Set "Variable=./TESTS/Test1.txt"
Type "%Variable:/=\%"
根据我们看不到的代码,可能有必要先导航到批处理文件目录,因为在调用这些命令时它可能不一定是当前的工作目录
要做到这一点:
CD /D "%~dp0"
答案 1 :(得分:0)
%~dp0
提供了批处理文件所在的文件夹(包括最后一个\
)(当然只能在批处理文件中使用)。所以:
type "%~dp0Test\test1.txt"
正是您想要的:<folder_where_my_batchfile_is\><subfolder_Test>\<File_test1.txt>
独立于你的&#34;工作文件夹&#34; (批处理文件可能包含cd
或pushd
)。
答案 2 :(得分:0)
使用%CD%
基本上不行吗?比如,TYPE "%CD%/Subfolder/Test1.txt"
? %CD%
是“当前目录”的Windows变量,应该设置为批处理文件正在工作的任何目录,并且因为您尝试访问同一目录中的文件夹,这应该有效。然而,你的问题还不清楚,我希望我不会误解。