[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理替换文件内容多条命令执行为何报错?

  1. @echo off
  2. for /f %%i in ('sed -n "/android.intent.action.MAIN/=" C:\Users\Administrator\Desktop
  3. \AndroidManifest.xml') do (
  4.     set n=%%i
  5. )
  6. set /a m=n-3
  7. sed -r "%m%,%n%!d; /activity android:label/!d; s/.*android:name=.([^\"]+)\".*/\1/" C:\Users
  8. \Administrator\Desktop\AndroidManifest.xml > %temp%\1.dat
  9. set /p str=<%temp%\1.dat
  10. echo %str%
  11. pause
复制代码
这个单独运行正常显示
  1. set iserror=0
  2. sed -i -e "/<\/application>/r advert\adall.txt" -e "s/<\/application>//" %1\AndroidManifest.xml
  3. if not %errorlevel%==0 ( set iserror=%errorlevel% )
  4. if not "%2"=="" ( sed -i "s/zy2860634b9e5742b2b43acc2e0a22b5f8/%2/g" %1\AndroidManifest.xml )
  5. if not %errorlevel%==0 ( set iserror=%errorlevel% )
  6. xcopy advert\SDKALL\* %1\ /Y /E /Q >nul
  7. if not %errorlevel%==0 ( set iserror=%errorlevel% )
  8. ::启动项包名
  9. for /f %%i in ('sed -n "/android.intent.action.MAIN/=" %1\AndroidManifest.xml') do (
  10.     set n=%%i
  11. )
  12. set /a m=n-3
  13. sed -r "%m%,%n%!d; /activity android:label/!d; s/.*android:name=.([^\"]+)\".*/\1/" %1\AndroidManifest.xml > %temp%\1.dat
  14. set /p str=<%temp%\1.dat
  15. :next
  16. ::echo %str%
复制代码
当和这些命令放到一起的时候就报错
错误提示:sed: -e expression #1, char 75: Unknown option to `s
大神帮忙解决谢谢

是哪一行在报错?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

感觉是这个吧sed -i -e "/<\/application>/r advert\adall.txt" -e "s/<\/application>//" %1\AndroidManifest.xml  那个错上显示sed: -e expression #1, char 75: Unknown option to `s

TOP

回复 2# Batcher


   
感觉是这个吧sed -i -e "/<\/application>/r advert\adall.txt" -e "s/<\/application>//" %1\AndroidManifest.xml  那个错上显示sed: -e expression #1, char 75: Unknown option to `s

TOP

回复 2# Batcher


    但是 不加上咱昨天写的那个 就没事,加上昨天你写的那个就报错

TOP

回复 4# 306485914


把代码保存为C:\test.bat
在CMD窗口里面执行C:\test.bat
看看到底是哪一行在报错
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 6# Batcher


    那命令拿出来单独测没报错

TOP

回复 6# Batcher


    sed: -e expression #1, char 7: Extra characters after command又出来一个这个错

TOP

回复 7# 306485914


安装6楼的方法做,把完整执行过程发出来
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

@echo off
echo.
if not "%~1"=="" ( if exist %1 goto start else goto noexist ) else goto usage

:noexist
echo 目录:%~1 不存在!请确认是否输错!
goto end

:usage
echo 用法:%0 目录名 jid
goto end

:start

set iserror=0
sed -i -e "/<\/application>/r advert\adall.txt" -e "s/<\/application>//" %1\AndroidManifest.xml
if not %errorlevel%==0 ( set iserror=%errorlevel% )

if not "%2"=="" ( sed -i "s/zy2860634b9e5742b2b43acc2e0a22b5f8/%2/g" %1\AndroidManifest.xml )
if not %errorlevel%==0 ( set iserror=%errorlevel% )

xcopy advert\SDKALL\* %1\ /Y /E /Q >nul
if not %errorlevel%==0 ( set iserror=%errorlevel% )

::启动项包名
for /f %%i in ('sed -n "/android.intent.action.MAIN/=" %1\AndroidManifest.xml') do (
    set n=%%i
)
set /a m=n-3
sed -r "%m%,%n%!d; /activity android:label/!d; s/.*android:name=.([^\"]+)\".*/\1/" %1\AndroidManifest.xml > %temp%\1.dat
set /p str=<%temp%\1.dat
:next
::echo %str%
sed  -i "s/com.example.andrpush_mytest_3_7_sdk_wulog_cgdemo.MainActivity/%str%/g" %1\AndroidManifest.xml


::echo %versionCode%
for /f "tokens=5 delims== " %%i in ('type %1\AndroidManifest.xml^| findstr "android:versionName"') do (
    set versionName=%%~i
    goto :next
)
:next
::echo %versionName%

for /f "tokens=3 delims== " %%i in ('type %1\AndroidManifest.xml^| findstr "android:versionCode"') do (
    set versionCode=%%~i
    goto :next
)
:next

for /f "tokens=3 delims=<>" %%i in ('type %1\res\values\strings.xml^| findstr "app_name"') do (
    set appname=%%i
    goto :next
)
:next
echo %appname%

echo 版本号:%versionCode%-----------------版本名: %versionName% >> %1\Package.txt
::sed -i "s#android:versionCode=\".*\"#android:versionCode=\"%newCode%\"#" %1\AndroidManifest.xml

:end
echo.

TOP

回复 10# 306485914


这是你现在使用的完整代码对吧

把@echo off删掉
剩下的代码保存为C:\test.bat
开始
运行
cmd
C:\test.bat

把完整的结果发出来看看
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 11# Batcher


    我这个程序是好几个批处理一起用的,单独拿出来不报错,但是放一起报错  把@echo off去掉以后显示的还是那一句的错

TOP

回复 11# Batcher


    现在确定了   你写的那个代码在dos中单独运行没问题 ,和我的放到一起就报错了 就是那个after command那个错

TOP

回复 12# 306485914


我就是要看一下合并在一起之后,删除@echo off之后,在CMD窗口里面执行的完整结果。
不要双击执行test.bat
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 14# Batcher


    正在为此目录加广告(所有模式)...1to50
sed: -e expression #1, char 7: Extra characters after command
"测试zhong"
1to50

加广告完成
这就是合并在一起后在dos中显示的结果 我都吧@echo off去掉了 但是就显示这点信息  我也不知道怎么回事

TOP

返回列表