【发布时间】:2015-01-31 20:12:34
【问题描述】:
我正在尝试编写一个脚本,该脚本在目录中搜索特定类型的文件,然后在命令中使用该文件。 .bat 文件从 cmd 执行,目录作为参数传递。
@echo off
setlocal enableextensions enabledelayedexpansion
set real_parent_path_unformated=%1%
set real_parent_path=!real_parent_path_unformated:%%20= ^%!
for /R "%real_parent_path%\" %%S in (*.pts) do (
set /a ptscount+=1
set ptsfile=!ptsfile! "%%S"
if !ptscount!==1 (
START "run PTGUI" /wait cmd.exe /c "S:\Production\CrushFTP7_PC\modules\PTGUI\ptgui.exe -batch -x !ptsfile!"
set ptscount=0
set "ptsfile="
)
)
exit
real_parent_path_unformated= 从服务器传递的目录
real_parent_path= 已删除 %%20 的目录
ptsfile= 来自日志的完整文件路径示例:
“S:\Production\incoming\CHI_TEST_City_Newsstand_4018_North_Cicero_Avenue_60641__\PANO_\1\RAW\DSC_0529_PANORAMA.pts”
但是,程序没有执行,给我这个错误:
SHGetFolderPath 失败:指定的路径无效。 (0xa1)
任何帮助将不胜感激!
【问题讨论】:
-
你确定这会产生所需的结果
set real_parent_path=!real_parent_path_unformated:%%20= ^%!。你能回显!real_parent_path!,看看它是否正常?
标签: windows batch-file cmd