Board logo

标题: [文本处理] 复制文件并修改文件名及内容, 需要修改的内容中包括文件名 [打印本页]

作者: 魔幻QQ    时间: 2014-12-26 13:17     标题: 复制文件并修改文件名及内容, 需要修改的内容中包括文件名

具体情况如下:
我需要将E盘文件夹“测试”里面的XXX.xml复制到E:测试\WiFi配置这个文件夹里面,并更名为BBB.xml。
修改文件内容为:<name>XXX</name>里面的XXX更改为BBB,
<keyMaterial>HHHHHH</keyMaterial>里面的HHHHHH,且都需要手动输入。

文件内容如下:
<?xml version="1.0"?>
<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">

<name>XXX</name>

<SSIDConfig>

<SSID>

<hex></hex>

<name>XXX</name>

</SSID>

</SSIDConfig>

<connectionType>ESS</connectionType>

<connectionMode>auto</connectionMode>

<MSM>

<security>

<authEncryption>

<authentication>WPA2PSK</authentication>

<encryption>TKIP</encryption>

<useOneX>false</useOneX>

</authEncryption>

<sharedKey>

<keyType>passPhrase</keyType>

<protected>false</protected>

<keyMaterial>HHHHHH</keyMaterial>

</sharedKey>

</security>

</MSM>
</WLANProfile>
请各位大神帮帮忙哈,先谢谢啦。

作者: 魔幻QQ    时间: 2014-12-26 13:18

最好是相对路径啊,
作者: 魔幻QQ    时间: 2014-12-26 13:31

[attach]7960[/attach][attach]7961[/attach]
作者: Batcher    时间: 2014-12-26 13:47

  1. @echo off
  2. set /p "NewName=请输入新的<name>的值:"
  3. set /p "NewKey=请输入新的<keyMaterial>的值:"
  4. copy /y "E:\测试\XXX.xml" "E:\测试\WiFi\%NewName%.xml"
  5. sed -i "s#<name>.*</name>#<name>%NewName%</name>#" "E:\测试\WiFi\%NewName%.xml"
  6. sed -i "s#<keyMaterial>.*</keyMaterial>#<keyMaterial>%NewKey%</keyMaterial>#" "E:\测试\WiFi\%NewName%.xml"
复制代码
sed.exe 下载地址:
http://bbs.bathome.net/thread-3981-1-1.html
作者: 魔幻QQ    时间: 2014-12-26 14:23

sed放在哪儿啊
作者: 魔幻QQ    时间: 2014-12-26 14:32

谢谢大神,可以了,不过不知道能不能把绝对路径改为相对的,谢谢哈
作者: DAIC    时间: 2014-12-26 14:46

回复 6# 魔幻QQ


把批处理放在 E:\测试\ 这个文件夹里面
然后把代码里面的 E:\测试\ 全部删掉
这就是相对路径




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2