我想在我的"我的文档"中打开最近的.csv文件。具有带变量的文件名的目录,因此:"E:\My Documents\name 20140731.csv"
。这是以excel打开的。
名称将始终保持不变,但最后一个数字将始终不同(20140731,20140814等)。
我有许多其他文件在同一个蝙蝠中打开。
start "" Chrome --profile-directory="Profile 1" "https://mail.google.com/" "https://stackoverflow.com/users/2337102/mrsadmin"
start "" Excel "E:\My Business\master.xlsm"
start "" Excel "E:\My Business\test.xlsm"
start "" Excel "E:\My Business\reconciled 20131031.xlsx"
start "" Excel "E:\My Documents\dev.xlsx"
start "" Explorer "E:\My Business\Accounts"
start "" "D:\Programs\2 Admin\MySQL Workbench\MySQLWorkbench.exe"
start "" Notepad "E:\My Business\info.txt
我尝试添加(来自here):
for /f %%a in ('dir /b /a-d /od "E:\My Documents\name*.csv"') do set "RecentFile=%%~a"
"E:\My Documents\%RecentFile%"
pause
然而,这不起作用,我收到有关该文件不存在的错误消息。
非常感谢提前。
答案 0 :(得分:2)
for /f "delims=" %%a in (
'dir /b /a-d /od "E:\My Documents\name*.csv"'
) do set "RecentFile=%%~a"
start "" "E:\My Documents\%RecentFile%"
由于文件包含空格,for /f
正在对字符串进行标记并返回第一个标记,即字符串name
。禁用分隔符(将delims
设置为空列表)可以避免它