【发布时间】:2021-09-26 04:43:03
【问题描述】:
帮帮我先生,我尝试了 100 多次,但它并不完全适合我。
目前以错误的方式获得结果:-
下面给出了批处理脚本从这个文件创建文件夹 (7101-1- kutana.pdf) 名称,扩展名为 .pdf,但不完全是我需要的。
我需要的结果正确的方式 a/q 给出以下步骤
例如
第 1 步:-我想从文件名中删除第一个五个字符 (7101-1- kutana)
我还想从文件夹名称中删除扩展名。
源目录=e:\automovesystem\temp
A. 源pdf文件名:- 7101-1- kutana.pdf
第 2 步:-
在 1-(space)kutana 和 award
的 destdir 名称下创建目录
B. destdir=e:\automovesystem\prpl
创建目录 e:\automovesystem\prpl\1- kutana\award
Step3.根据第一步的文件名检查文件夹名是否可用。
第 4 步:- 将第 2 步中创建的同一文件夹中的相同文件移动到子目录下。
@echo off setlocal enableextensions disabledelayedexpansion
Set "sourcedir=e:\automovesystem\temp"
Set "destdir=e:\automovesystem\prpl"
For /f "eol=| tokens=1* delims=-" %%a in ('dir /b /a-d-h "%sourcedir%\*-*" 2^>nul') do (
Md "%destdir%\%%b\award" 2>nul
Move /y "%sourcedir%\%%a-%%b" "%destdir%\%%b\award" )
Endlocal
【问题讨论】:
-
阅读
for /?的输出,了解为什么Md "%destdir%\%%~nb\award" 2>nul效果更好。
标签: windows batch-file