找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22966|回复: 6

[文件操作] 批处理命令求助-抓取文件名, 并让另外一个程序调用

[复制链接]
发表于 2012-12-1 12:02:39 | 显示全部楼层 |阅读模式
我需要用一个命令处理某个目录下几千个文件. 首先给每个文件生成名字相同的一个目录,同时将该命令处理文件的结果保存到生成的目录中.
我的命令是"C:\vina\vina.exe" --config --ligand *(此处*就是我处理的文件名).pdbqt --out */out.pdbqt --log */log.txt

我尝试写了一个,但是不成功.
@echo off

FOR %%a IN (*.pdbqt) Do (
Set B=%%a~na
MKDIR B
"C:\vina\vina.exe" --config conf.txt --ligand B.pdbqt --out B/out.pdbqt --log B/log.txt
)

不知道问题出在哪,总是不成功.
 楼主| 发表于 2012-12-1 19:26:50 | 显示全部楼层
搞定,花了一个下午在网上查,然后改。最后出来这样的。

@echo off&setlocal enabledelayedexpansion


FOR %%i IN (*.pdbqt) DO (

set b=%%~ni

echo !b!

MKDIR !b!

"C:\vina\vina.exe" --config conf.txt --ligand !b!.pdbqt --out !b!/out.pdbqt --log !b!/log.txt
)
发表于 2012-12-1 20:49:15 | 显示全部楼层
回复 2# lrf980


    你找个文件名包含空格的测试一下
 楼主| 发表于 2012-12-2 10:56:06 | 显示全部楼层
还没有机会试,因为我的文件里面没有空格。不知道是不是哪里有问题,麻烦指教。谢谢。
发表于 2012-12-2 10:59:34 | 显示全部楼层
回复 4# lrf980


    随便找个有空格的文件名试试就知道了
 楼主| 发表于 2012-12-2 20:18:56 | 显示全部楼层
本帖最后由 lrf980 于 2012-12-2 20:31 编辑

回复 5# BAT-VBS

试了. 不能抓全文件名,只有空格前面的信息, 应该如何改呢?
发表于 2012-12-2 20:34:54 | 显示全部楼层
回复 6# lrf980
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%i in (*.pdbqt) do (
  4.     set "b=%%~ni"
  5.     echo "!b!"
  6.     mkdir "!b!"
  7.     "C:\vina\vina.exe" --config conf.txt --ligand "!b!.pdbqt" --out "!b!/out.pdbqt" --log "!b!/log.txt"
  8. )
复制代码
试试
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 20:17 , Processed in 0.018491 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表