for %%s in (Y:\ACS\data\rtr\CHS_cp0ex\dataFiles\Reported\TTFILE*.*) do (
Y:\ACS\data\rtr\CHS_cp0ex\dataFiles\Reported\deasn9.exe -a Y:\ACS\data\rtr\CHS_cp0ex\dataFiles\Reported\cme20MSS13a_itu -b %%s >Y:\ACS\data\rtr\CHS_cp0ex\dataFiles\tmp\%%s:~ns.txt
)
我试图从文件夹Y:\ACS\data\rtr\CHS_cp0ex\dataFiles\Reported\
但\ %% s:~ns无法获取文件名,为什么?
答案 0 :(得分:0)
set "dataFiles=Y:\ACS\data\rtr\CHS_cp0ex\dataFiles"
for %%s in ("%dataFiles%\Reported\TTFILE*.*") do (
"%dataFiles%\Reported\deasn9.exe" -a "%dataFiles%\Reported\cme20MSS13a_itu" -b "%%~fs" >"%dataFiles%\tmp\%%~ns.txt"
)
有很多路径。我用变量替换了它们,但这不是必需的。
现在,for
命令变量
%%s
将保留对该文件的引用。将会或不会包含文件的完整路径,相对路径或无路径,具体取决于for
命令中指示文件集的方式
%%~ns
文件的名称,无扩展名
%%~nxs
文件名称(带扩展名)
%%~fs
文件的完整路径。驱动器,文件夹,文件名和扩展名。
有关不同修饰符的完整列表,请参阅for /?
答案 1 :(得分:-2)
Dir
正是您要找的。你听起来像一个unix用户。