我有一个脚本的批处理文件,它备份了我的一些mysql数据库表,并将它们保存在一个新创建的文件夹中,并将此模式命名为:" date_time"例如" 23.06.2016_1050"。 所以我有另一个批处理文件,它将特定文件夹中的每个* .sql文件导回到我的数据库。 我想要做的是,编写一个自动选择最新文件夹的批处理,然后运行我的部分代码。
这是我的批次代码:
cd c:\server\backup\character_data
FOR %%X IN (*.sql) DO ECHO Importing %%X & "C:\Program Files\MariaDB 10.1\bin\mysql" dspdb -h localhost -u root -p 123456789 < %%X
所以我需要cd%变量%,其中包含最新日期和时间模式的文件夹名称。
所以这个:
cd c:\server\backup\character_data\%variable%
将是:
cd c:\server\backup\character_data\23.06.2016_1050
有谁知道如何以某种方式将所需的文件夹名称作为变量?
我真的希望我解释得足够好,有人可以帮助我。 Thx提前! :)
答案 0 :(得分:2)
这将获取c:\server\backup\character_data
中包含完整文件路径的最新文件夹,因此无需执行cd c:\server\backup\character_data\%variable%
,而是cd %a%
如果您不想要该文件夹的完整目录,请从/s
命令中删除dir
@echo off
cd /d "c:\server\backup\character_data"
FOR /F "delims=" %%i IN ('dir /b /s /ad-h /t:c /od') DO SET a=%%i
::Do what you want with your folder, call it with %a%