【发布时间】:2012-10-02 18:39:21
【问题描述】:
我似乎无法让它工作。我需要一个批处理文件来遍历一堆包含文件的文件夹,并将它们移动到列表.txt 中指定的文件夹中。
基本上我希望它执行以下操作: 示例列表.txt
folder1 file1
folder2 file1
并解析它以便我可以:
copy C:\folder1\file1*.txt to destination folder
copy C:\folder2\file1*.txt to destination folder
etc
这是我目前所拥有的:
主程序:
echo off
set lines=0
for /f "tokens=1 delims=" %%a in (%CD%\list.txt) do (
echo %%a
echo 1 %SN% from EEN %EEN%
call :first %%a
echo 2 %SN% from EEN %EEN%
call :second %%a
echo 3 %SN% from EEN %EEN%
set /a lines+=1
)
echo %lines%
pause
goto :eof
:first
set EEN=%1
goto :eof
:second
set SN=%2
goto :eof
pause
list.txt(第一列为文件夹名,第二列为文件名):
DM5V37H WMC1F0077774
DM5V37H WMC1F0077711
DM5V37H WMC1F0086480
DM5V37H WMC1F0086372
DM5V37H WMC1F0077655
DM5V37H WMC1F0077770
我做错了什么?
【问题讨论】:
-
您是否考虑过为此使用 powershell?
-
我对 PowerShell 不是很熟悉(仅用于 Exchange 和 MS 服务器)。这是因为批次限制而无法完成的事情吗?
-
我相信你最终会弄明白的。我只是认为在 PowerShell 中编写和调试会简单得多。您可能可以使用上述行的四分之一。听起来您在 Exchange 等方面的经验已经有了一个良好的开端。在线上有很多很好的参考信息和教程,包括关于 stackoverflow。试一试!
-
好的,会试试的!谢谢....因为我的 PowerShell 体验是在 Exchange Powershell 窗口中...我什至如何执行它?写什么最好?我之前刚刚使用过记事本(或记事本++)。任何建议表示赞赏。
-
确保您已安装 powershell。如果您使用的是 Win 7,那么它是随系统安装的。如果您使用的是 XP,则需要从 Microsoft 下载并安装。您可以在任何文本编辑器中创建脚本,就像批处理文件一样。唯一的区别是您使用“.ps1”扩展名保存它。接下来,启动 powershell。在我的系统上,它位于
Start=>Programs=>Accessories=>WindowsPowershell。使用导航命令导航到您的脚本,然后运行它,就像处理批处理文件一样。也可以直接在命令行输入命令。
标签: file sorting batch-file copy move