windows - 如何使用批处理脚本创建没有文件类型扩展名的文件夹名称并移入创建的子目录?
问题描述
帮帮我先生,我尝试了 100 多次,但它并不完全适合我。
目前以错误的方式获得结果:-
给出下面的批处理脚本,从此文件(7101-1- kutana.pdf)名称创建文件夹,扩展名为 .pdf,但不完全是我需要的。
结果我需要以正确的方式a / q给出以下步骤
例如
第 1 步:-我想从文件名(7101-1- kutana)中删除第一个五个字符,
并且我想从文件夹名称中删除扩展名。
Sourcedir=e:\automovesystem\temp
A. source pdf 文件名:- 7101-1- kutana.pdf
第 2 步:-在destdir名称
下创建目录1-(space)kutana并授予
B. destdir=e:\automovesystem\ prpl 已
创建目录e:\automovesystem\prpl\1- kutana\award
Step3.根据步骤 1 文件名检查文件夹名称是否可用。
第 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
解决方案
除了您自己的答案之外,我可能会更像这样:
@Echo Off
SetLocal EnableExtensions
Set "SRC=E:\automovesystem\TEMP"
Set "DST=E:\automovesystem\PRPL"
If Not Exist "%SRC%\" (Exit /B) Else If Not Exist "%DST%\" Exit /B
For /F "Delims=" %%G In ('%SystemRoot%\System32\where.exe "%SRC%":"????-?*-?*.*"
2^>NUL') Do For /F "Tokens=1,* Delims=-" %%H In ("%%~nG"
) Do %SystemRoot%\System32\Robocopy.exe "%%~dpG." "%DST%\%%I\NOTICE" "%%~nxG"^
/Mov 1>NUL 2>&1
推荐阅读
- c# - MSBuild 无法编译但通过 Visual Studios 2017
- powershell - 使用 certreq 从企业 CA 请求证书时如何抑制弹出窗口?
- javascript - 如何从数组中提取两列
- bash - 连接到数据库并在 PSQL 中运行查询的 Bash shell 提供了一个未知用户:
- sql - Laravel 集合如何在没有记录的地方返回,而不是由身份验证用户返回
- javascript - 为什么滚动使用中间点击暂停间隔事件?
- node.js - typescript tsc Unexpected token { 导入时
- python - scons / SConscript 文件的缩进错误
- google-chrome - 尝试从本地加载 tensorflowJS 模型时出错,Fetch API 无法加载 downloads://model。对于 CORS 请求错误,URL 方案必须是“https”
- javascript - 如何使用表单验证来处理多个选项?