Batch file 使用cmd将文本文件的名称设置为变量
我有目录C:\Test\NewName.txt,我只想取名称NewName并将其放入名为X的变量中。另一个问题是我不知道.txt文件的名称。我只知道它将只有一个.txt文件存储在测试文件夹中。比如:Batch file 使用cmd将文本文件的名称设置为变量,batch-file,cmd,Batch File,Cmd,我有目录C:\Test\NewName.txt,我只想取名称NewName并将其放入名为X的变量中。另一个问题是我不知道.txt文件的名称。我只知道它将只有一个.txt文件存储在测试文件夹中。比如: set X=C:\Test\NewName.txt echo %X% 但它不起作用…如果您确定,只有一个.txt文件: 如果有多个,它将按字母顺序选择最后一个 %%~fa是带驱动器、路径、名称和扩展名的完全限定文件名。如果您需要其他服务,请参阅/ 注意:这是在批处理文件中使用的语法。要在命令行上使
set X=C:\Test\NewName.txt
echo %X%
但它不起作用…如果您确定,只有一个.txt文件: 如果有多个,它将按字母顺序选择最后一个 %%~fa是带驱动器、路径、名称和扩展名的完全限定文件名。如果您需要其他服务,请参阅/
注意:这是在批处理文件中使用的语法。要在命令行上使用它,请将每个%%a替换为%a这是一个非常好的选项,理论上应该可以工作,但当我设置它时,它不会响应任何内容。在cmd中显示%a。。。只有1%的符号。可能是我应该在特定的目录下用CD命令或设置在某个地方?CMD仅在底部显示,ECHO处于打开状态。
for %%a in (C:\Test\*.txt) do set x=%%~fa
echo %x%