使用.bat打开文件,该文件名称中包含变量,最近仅创建

时间:2014-07-31 09:52:24

标签: batch-file csv

我想在我的"我的文档"中打开最近的.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

然而,这不起作用,我收到有关该文件不存在的错误消息。

非常感谢提前。

1 个答案:

答案 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设置为空列表)可以避免它