相当新的游戏,花了很多时间寻找帮助和例子。 我已经有了这个工作的版本,虽然我想简化一个单一的input文件“computer_listc.txt”的过程。 我基本上想读取一系列文件夹path(从computer_listc.txt),并使用部分path来写入更多的cmdexpression式。
我的问题是fname和comp_id没有正确设置。 我想让它们等于T(文件名),然后编辑它们。
fname需要是前12个字符被删除的文件path。 而comp_id需要等于文件path中指定的计算机名
fname = c_modellingmodelslave1 comp_id = VOSTRO460-1
这是剧本。 你能看到我的错误?
为什么这个FOR命令不能删除除了我想保留的文件以外的所有文件?
使用批处理命令自动连接到FTP服务器,继续使用批处理脚本,然后在必要时运行FTP命令
意外的Windows批处理行为 – 赋值后variables重置 – 在FILE和SET中使用FOR%f获取文件date
batch file对多个目录中的所有文件执行命令
for /f "usebackq tokens=*" %%T in ("C:c_modellingModelcal21_calComputer_ListC.TXT") do ( set fname = %%T ren fname "%fname%" "C:%fname%:~12%" set comp_id = %%T %comp_id% = %{comp_id:0:12} mkdir %%T > NUL 2>&1 echo cd %fname% >\%%Tbeo_insC.cmd echo beo >>\%%Tbeo_insC.cmd robocopy c:c_modellingmodelcal21_cal \%%T /s /e start cmd.exe /c psexec \%comp_id% -cc:c_modellingmodelcal21_calbeo_insC.cmd del \%%Tbeo_insC.cmd )
Computer_ListC.txt包含以下文件名:这将最终有一长串计算机文件夹path。
VOSTRO460-1c_modellingmodelslave1 VOSTRO460-1c_modellingmodelslave2
我正在创build一个* .cmd文件,以便与'psexec'一起使用,因为当我将进程指向本地计算机时,path默认为 system32。
任何援助将是非常有益的!
batch file从文本过滤string,并取代…但在一个批处理,而不是多个?
在上午9点之前运行的Bat文件会给出错误,无效的号码。 数字常数是十进制(17),
Windows批处理:从文本文件中设置variables
移动具有特定名称的所有文件(sorting)WINDOWS 8
首先问题是字符串SET语句中的SPACES是重要的。 变量名和赋值都将包含任何空格,所以set fname = %%T将设置一个名为"fname "而不是"fname"的变量,其值将包含%%T之前的前导空格
接下来是永久的延迟扩张问题。 在一个block (一系列括号中的语句)中,任何%var%都将被PARSE时间的值替换 – 在执行循环之前。
要访问RUN-TIME值,需要执行SETLOCAL ENABLEDELAYEDEXPANSION语句,而在调用delayedexpansion , !var! 访问RUN- time变量值。
但是请注意,你不能简单地在一个循环内调用delayedexpansion而不受惩罚。 在任何时候都可以打开的数量是有限的,所以你需要用ENDLOCAL命令“关闭括号”(达到逻辑结束文件相当于ENDLOCAL ),缺点是ENDLOCAL还原当匹配的SETLOCAL被调用时,环境到它的值。 为此, SETLOCAL ENABLEDELAYEDEXPANSION通常在批处理开始时执行,通常在@echo off后执行
下一个问题是
ren fname "%fname%" "C:%fname%:~12%"
rename命令的语法是ren sourcename newname – 正好两个参数,在"rabbit's ears"包含任何包含空格的参数此外,目标名称只是名称 – 不是路径。
然后是这样的:
%comp_id% = %{comp_id:0:12}
假设你已经解决了这个问题以除去变量名中的空格,并且comp_id被赋予了值fred并且你已经意识到你正在处理comp_id的RUN- time值,那么现在这将显示为
!comp_id!=%{comp_id:0:12}
Batch将解释为
fred=%{comp_id:0:12}
并及时放弃。
你可能期望做的是
set comp_id=!comp_id:~0,12!
即将12字符的第一个字符( 0 )的comp_id设置为comp_id的运行时间值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。