【问题标题】:execute .bat file from android从android执行.bat文件
【发布时间】:2012-05-12 15:05:08
【问题描述】:

我正在尝试执行 xxx.bat 文件以从我的 Android 应用程序中重命名该文件 听到是我的代码

  Runtime.getRuntime().exec(Environment.getExternalStorageDirectory()+File.separator+"eduapp"+File.separator+"lock1.bat");

eduapp 是目录,lock1.bat 是我的 bat 文件及其内容

ren /sdcard/eduapp .{ED7BA470-8E54-465E-825C-99712043E01C}

但是当我运行应用程序时,它会出现类似的错误..

java.io.IOException: Error running exec(). Command: [/mnt/sdcard/eduapp/lock1.bat] Working Directory: null Environment: null

基本上我想从 sdcard 中隐藏一些文件夹。 是他们从 sdcard 运行 .bat 或隐藏文件夹的任何另一种方式。

【问题讨论】:

  • Android 的核心是 Posix,而不是 Windows。您必须使用mv 而不是ren,以及.sh 而不是.bat。但即便如此,我也不确定你的方案是否可行。

标签: android batch-file video-encoding


【解决方案1】:

因为.bat是dos批处理文件,而android是基于linux的?.. 这是'mv',而不是'ren'。这不是“.bat”,而是“.sh”(但实际上,这并不重要)。此外,您必须运行 /bin/sh 并将脚本文件作为参数传递,或者直接使用参数运行 'mv' - 您不能执​​行文本文件。 但我确信java有它自己的移动文件的功能,不需要shell脚本。

【讨论】:

  • move 和 rename 是一样的(嗯,技术上并不总是如此,但 mv 可以自己处理所有较低级别的细节)
  • 好的,谢谢它的工作,但现在的问题是(我想从 sdcard 隐藏一些文件夹)我在某些文件探索中显示的文件是隐藏它的任何其他方式。基本上我想保护一些视频,所以我尝试加密,但它消耗大量时间来解密。我使用 Cipher 和 AES 是更快的算法。
  • 如果文件名以“.”开头,则文件管理器建议将其视为“隐藏”。但是,它可以(并且在许多情况下 - 应该)被忽略。数据加密完全超出了您最初的问题。如果您需要更快(和更弱)的方法,请尝试 XOR - 它根本不是加密的,但它会使标准播放器无法读取您的文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多