本帖最后由 回家路上 于 2015-7-11 11:05 编辑
回复 5# CrLf
嗯,这个dir可以直接找出只读的所有文件
而我是想对所有pom.xml文件进行操作,无论是否只读。
所以没有选择dir,而是两方面进行判定。
可是有出现了新的问题——utf-8的文件读取怎么不正确啊。
pom.xml————utl-8格式的- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>cn.snsoft.ftc</groupId>
- <artifactId>SNS-ftc_tomcat</artifactId>
- <name>SNS-ftc_tomcat</name>
- <version>1.0.0-SNAPSHOT</version>
- <packaging>jar</packaging>
- <dependencies>
- <!-- 依赖 -->
- <dependency>
- <groupId>cn.com.test</groupId>
- <artifactId>TestUtil</artifactId>
- <version>1.0.0</version>
- <type>jar</type>
- </dependency>
- </project>
复制代码 我在读取的时候,想输出到一个新的文件里,发现是乱码,
然后改为控制台直接输出就是i乱码的。怎么解?- @echo off&setlocal enabledelayedexpansion
- for /r %%a in (*pom.xml) do (
- attrib %%a | findstr "^.....R">nul && set staus=1
- if "!staus!"=="1" (call :replace %%a readonly) else call :replace %%a
- set staus=0
- )
- pause & exit /b
-
- :replace
- if not "%2"=="" (
- attrib -R %1 & echo 去除只读
- call :deal %1
- attrib +R %1 & echo 恢复只读
- ) else (
- echo 文件不是只读,直接操作
- call :deal %1
- )
- goto :eof
-
- :deal
- echo 操作%~dp1%~nx1文件
- for /f "delims=" %%c in (%1) do (
- echo %%c
- )
- ::>>%~dp1pom_bak.xml
- goto :eof
复制代码 其实简单就是说,我想把一个utf-8的文本文件修改其中一个字符串(无论是否只读),然后其他都不变(该恢复的都恢复)。
然后只是这样读取的话乱码,该怎么办?求教- for /f "delims=" %%c in (pom.xml) do (
- echo %%c
- )
复制代码
|