首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用变量传输批处理脚本文件

使用变量传输批处理脚本文件
EN

Stack Overflow用户
提问于 2018-08-08 09:47:36
回答 1查看 308关注 0票数 0

感谢您抽出时间来帮助我解决我正在尝试解决的问题。我已经写了一些批处理文件,但我没有太多的经验,所以这对我来说有点困难。我正在尝试将pdf文件从一个特定位置传输到另一个位置的单独文件夹。每个文件将包含这样的格式“谷歌地球_2018-08-07_5485A635.pdf”,并基于“谷歌EARTH_”,它将转移到它的合法文件夹命名为“谷歌EARTH_Google公司”。因此,根据文件的初始部分,将其传输到以指定文件名开头的文件夹中。这就是我到目前为止所拥有的,但不起作用。

代码语言:javascript
复制
@ECHO OFF
SETLOCAL
SET "sourcedir=C:\Users\Alpha\Documents\NOTEPAD Coding\File Transfer Coding\Files"
SET "destdir=C:\Users\Alpha\Documents\NOTEPAD Coding\File Transfer Coding\Transfer"
FOR /f "delims=" %%a IN (
 'dir /b /a-d "%sourcedir%\*.pdf" '
 ) DO (
 FOR /f "tokens=1delims=_-" %%b IN ("%%a") ) DO (
  FOR /f "delims=" %%d IN (
  'dir /b /ad "%destdir%\*%%b*" '
  ) DO (
   MOVE "%%a" "%sourcedir%\%%d\"
 )
)

GOTO :EOF
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-08 10:52:24

在我的回答中,为了极佳的可读性,我对齐了您的代码,向您展示了闭括号如何与每个FOR命令对齐。我将MOVE命令改为使用source directory变量,因为第一个FOR变量只保存文件名。还更改了第一个IN子句以迭代PDF文件。

代码语言:javascript
复制
@ECHO OFF
SETLOCAL
SET "sourcedir=C:\Users\Alpha\Documents\NOTEPAD Coding\File Transfer Coding\Files"
SET "destdir=C:\Users\Alpha\Documents\NOTEPAD Coding\File Transfer Coding\Transfer"
FOR /f "delims=" %%a IN ('dir /b /a-d "%sourcedir%\*.pdf" ') DO (
    FOR /f "tokens=1 delims=_-" %%b IN ("%%a") DO (
        FOR /f "delims=" %%d IN ('dir /b /ad "%destdir%\*%%b*" ') DO (
            MOVE "%sourcedir%\%%a" "%destdir%\%%d\"
        )
    )
)
GOTO :EOF
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51737550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档