我用相机在父文件夹中拍摄了一堆照片。文件名具有这种格式; ' yyyymmdd_ttmmss.jpg',例如' 20151008_0730.jpg'。 我想根据文件名的' yyyymmd' -part创建文件夹,但格式为' yyyy-mm-dd'。所以文件' 20151008_0730.jpg'被移动到名为' 2015-10-08'的文件夹中。这是我到目前为止所得到的:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key><true/>
</dict>
但我不知道如何在创建文件夹之前格式化%% a-variable。
(这是之前提出的类似问题,但不是以此格式创建文件夹)
答案 0 :(得分:1)
@echo off
setlocal
copy nul "%tmp%\20151008_0730.jpg"
copy nul "%tmp%\20151009_0731.jpg"
copy nul "%tmp%\20151010_0732.jpg"
set "sourcedir=%tmp%"
pushd %tmp%
for /f "delims=" %%a in ('dir /b /a-d "*_*.jpg"') do (
set "file=%%a"
setlocal enabledelayedexpansion
set "folder=!file:~0,4!-!file:~4,2!-!file:~6,2!"
echo:
rem check if folder already exist
if not exist "!folder!\nul" echo md "!folder!"
echo move "!file!" "!folder!"
endlocal
)
popd
exit /b 0
输出:
md "2015-10-08"
move "20151008_0730.jpg" "2015-10-08"
md "2015-10-09"
move "20151009_0731.jpg" "2015-10-09"
md "2015-10-10"
move "20151010_0732.jpg" "2015-10-10"
你必须通过更改sourcedir和pushd来清理这个样本,删除每个命令前面的echo,同时复制nul&#34; ....&#34;。
我在这里使用了VarSubstring
和delayedexpansion