找回密码
 注册
快捷导航
查看: 5268|回复: 60

[已完成]这里有程序牛人吗

[复制链接] |自动提醒
阅读字号:

3795

回帖

3

积分

1万

资产值

初级会员 Rank: 1

注册时间
2003-8-21
铜牌荣誉勋章(注册8年以上会员)
发表于 2009-5-5 17:10:30| 字数 166| - 中国–北京–北京 鹏博士BGP | 显示全部楼层 |阅读模式
能否帮忙写个小程序,要求如下
读一个目录下的文件的文件名,然后根据文件名(不要后缀)创建文件夹,再把的文件MOVE到相对应的文件里。例如
目录A下有文件 a.jpg,b.jpg,c.jpg 运行程序后,A目录下多了三个文件夹:a,b,c,里面分别存放着a.jpg,b.jpg,c.jpg

[ Edited by  信仰 on 2009-5-7 09:38 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

5443

回帖

0

积分

1560

资产值

入门会员 Rank: 1

注册时间
2009-3-22
发表于 2009-5-5 17:23:41| 字数 4| - 中国–江苏–南京 电信 | 显示全部楼层
easy
回复 支持 反对

使用道具 举报

5875

回帖

72

积分

5587

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2007-2-10
银牌荣誉勋章(注册10年以上会员)
发表于 2009-5-5 17:27:46| 字数 9| - 中国–广东–湛江 电信 | 显示全部楼层
very easy.
回复 支持 反对

使用道具 举报

3795

回帖

3

积分

1万

资产值

初级会员 Rank: 1

注册时间
2003-8-21
铜牌荣誉勋章(注册8年以上会员)
 楼主| 发表于 2009-5-5 18:37:38| 字数 62| - 中国–北京–北京 联通 | 显示全部楼层
给比较好实现的给100NB。
要求有比较好的通用性。有一个简单操作界面。

[ Edited by  信仰 on 2009-5-5 18:38 ]
回复 支持 反对

使用道具 举报

315

回帖

0

积分

413

资产值

入门会员 Rank: 1

注册时间
2006-10-12
发表于 2009-5-5 18:45:22| 字数 1,058| - 德国 | 显示全部楼层
简单写了个

1,希望你有cygwin
2. 你要处理的主目录作为参数,你的例子就是c:\a  不要最后的斜线,懒了,没处理
3. 如果你的文件没有扩展名,没测试好使不。
4. 如果多个文件名相同,仅扩展名不同也没关系,看测试例子。

代码:

  1. #!/bin/bash
  2. BASEDIR="$1"/*

  3. for MYFILE in $BASEDIR
  4. do
  5.     if [ -f $MYFILE ]
  6.     then
  7.        MYDIR=${MYFILE%.*}
  8.        if [ ! -d $MYDIR ] #everything ok, mkdir, then move
  9.        then
  10.             `mkdir $MYDIR`
  11.             `mv $MYFILE $MYDIR`
  12.        else   # dir exists, only mv is needed.
  13.             `mv $MYFILE $MYDIR`
  14.        fi

  15.     fi
  16. done
复制代码



测试:

  1. kent@R60:~/Desktop/test$ touch a.foo b.foo c.foo b.bar
  2. kent@R60:~/Desktop/test$ ls -l
  3. total 0
  4. -rw-r--r-- 1 kent kent 0 2009-05-05 12:39 a.foo
  5. -rw-r--r-- 1 kent kent 0 2009-05-05 12:39 b.bar
  6. -rw-r--r-- 1 kent kent 0 2009-05-05 12:39 b.foo
  7. -rw-r--r-- 1 kent kent 0 2009-05-05 12:39 c.foo
  8. kent@R60:~/Desktop/test$ cd ..
  9. kent@R60:~/Desktop$ ./test.sh /home/kent/Desktop/test
  10. kent@R60:~/Desktop$ cd test/
  11. kent@R60:~/Desktop/test$ ls -lR
  12. .:
  13. total 12
  14. drwxr-xr-x 2 kent kent 4096 2009-05-05 12:40 a
  15. drwxr-xr-x 2 kent kent 4096 2009-05-05 12:40 b
  16. drwxr-xr-x 2 kent kent 4096 2009-05-05 12:40 c

  17. ./a:
  18. total 0
  19. -rw-r--r-- 1 kent kent 0 2009-05-05 12:39 a.foo

  20. ./b:
  21. total 0
  22. -rw-r--r-- 1 kent kent 0 2009-05-05 12:39 b.bar
  23. -rw-r--r-- 1 kent kent 0 2009-05-05 12:39 b.foo

  24. ./c:
  25. total 0
  26. -rw-r--r-- 1 kent kent 0 2009-05-05 12:39 c.foo
  27. kent@R60:~/Desktop/test$

复制代码

普通的联想笔记本+免费的正版系统和软件
回复 支持 反对

使用道具 举报

315

回帖

0

积分

413

资产值

入门会员 Rank: 1

注册时间
2006-10-12
发表于 2009-5-5 18:46:29| 字数 43| - 德国 | 显示全部楼层
回帖晚了,没看到你上面那个要求,这个小东西还要求界面。。。。
算了,忽略我上面的帖子吧。

普通的联想笔记本+免费的正版系统和软件
回复 支持 反对

使用道具 举报

5109

回帖

78

积分

1万

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2007-11-17
发表于 2009-5-5 18:51:16| 字数 30| - 中国–江苏–南京 电信 | 显示全部楼层

回复 #5 sk1418 的帖子

哥们 你这还要预装运行环境
电脑被偷了
不然就直接写个exe程序了
51nb才是正宗的 nb论坛
51nb才是正宗的 nb论坛
51nb才是正宗的 nb论坛
T420
E71 lx5
php coder
回复 支持 反对

使用道具 举报

3795

回帖

3

积分

1万

资产值

初级会员 Rank: 1

注册时间
2003-8-21
铜牌荣誉勋章(注册8年以上会员)
 楼主| 发表于 2009-5-5 19:00:43| 字数 38| - 中国–北京–北京 联通 | 显示全部楼层

回复 #6 sk1418 的帖子

希望是个EXE程序,有个小界面可以通用一些。10朵小花送上。楼下继续。。。。
回复 支持 反对

使用道具 举报

315

回帖

0

积分

413

资产值

入门会员 Rank: 1

注册时间
2006-10-12
发表于 2009-5-5 19:32:15| 字数 217| - 德国 | 显示全部楼层
QUOTE:
Posted by 269569 on 2009-5-5 11:51
哥们 你这还要预装运行环境
电脑被偷了
不然就直接写个exe程序了


各人用WINDOWS的习惯不一样,我是装好硬件驱动后第一个软件就是cygwin。所以对我没有“预装运行环境”的问题。估计用cygwin的少不了就好歹写了个脚本。如果帮不上那就sorry了。
其实python, java弄个程序再弄成EXE也行。下面的继续帮楼主吧。

谢谢楼主还给了10NB。



偷偷问下NB怎么花?

普通的联想笔记本+免费的正版系统和软件
回复 支持 反对

使用道具 举报

759

回帖

0

积分

807

资产值

入门会员 Rank: 1

注册时间
2008-12-19
发表于 2009-5-5 20:18:30| 字数 24| - 中国–广西–南宁 电信/(兴宁区/江南区)电信 | 显示全部楼层
晕,程序写多了,再小的程序也不原写,再写就疯掉了
回复 支持 反对

使用道具 举报

4060

回帖

39

积分

5747

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2006-1-19
发表于 2009-5-5 20:27:46| 字数 154| - 中国–辽宁–大连 中移铁通 | 显示全部楼层
这么简单,还要啥程序。如下内容保存到你的那个根目录为1.bat,然后双击运行即可。
QUOTE:
for %%f in (*.jpg) do (
if not exist "%%~nf" mkdir "%%~nf"
move "%%f" ".\%%~nf\"
)
回复 支持 反对

使用道具 举报

185

回帖

14

积分

1098

资产值

黄金会员 Rank: 3Rank: 3Rank: 3

注册时间
2008-12-16
发表于 2009-5-5 22:31:26| 字数 4| - 中国–上海–上海–长宁区 电信 | 显示全部楼层
来看牛人
T60 2007-CA1
X60S 1702-C6J  AFFS屏
X61S 7666-AA1
回复 支持 反对

使用道具 举报

38

回帖

0

积分

147

资产值

入门会员 Rank: 1

注册时间
2004-12-22
发表于 2009-5-5 22:38:49| 字数 9| - 中国–江苏–南京–鼓楼区 电信 | 显示全部楼层

试试看

试试看
试试看
试试看

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
Exploring the beauties of technology...
回复 支持 反对

使用道具 举报

3795

回帖

3

积分

1万

资产值

初级会员 Rank: 1

注册时间
2003-8-21
铜牌荣誉勋章(注册8年以上会员)
 楼主| 发表于 2009-5-5 23:00:52| 字数 48| - 中国–北京–北京 联通 | 显示全部楼层
ziding的程序语言真是用到家了,精干!
linze的程序也很好用。
两位各转了50nb,请查收!
回复 支持 反对

使用道具 举报

4060

回帖

39

积分

5747

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2006-1-19
发表于 2009-5-5 23:04:53| 字数 11| - 中国–辽宁–大连 中移铁通 | 显示全部楼层

回复 #14 信仰 的帖子

不是100吗?被骗了啊
回复 支持 反对

使用道具 举报

3万

回帖

319

积分

3万

资产值

至尊会员III Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2003-2-6
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)铜牌荣誉勋章(注册8年以上会员)金牌荣誉勋章(注册20年以上会员)银牌荣誉勋章(注册10年以上会员)
发表于 2009-5-5 23:16:57| 字数 16| - 中国–辽宁–沈阳 移动 | 显示全部楼层
看看这么厉害牛人啊。

dos学的好
IBM A31P R9H, Pentium 4-2.0G  RAM:1GB 60GB+40GB  UXGA  PalmIIIXE  Nikon D1X 50/1.8D
Lenovo Thinkpad  T60P 7200.2,2G 100G WSXGA+
回复 支持 反对

使用道具 举报

315

回帖

0

积分

413

资产值

入门会员 Rank: 1

注册时间
2006-10-12
发表于 2009-5-5 23:19:24| 字数 57| - 德国 | 显示全部楼层
别哭,我的shell 脚本没帮上LZ,LZ还给了10块钱。反正我也不会花。转给你了。
而且发现就能给10块,给不多阿!

普通的联想笔记本+免费的正版系统和软件
回复 支持 反对

使用道具 举报

4060

回帖

39

积分

5747

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2006-1-19
发表于 2009-5-5 23:25:50| 字数 16| - 中国–辽宁–大连 中移铁通 | 显示全部楼层

回复 #17 sk1418 的帖子

谢谢兄弟了。我前面和楼主开玩笑呢
回复 支持 反对

使用道具 举报

3795

回帖

3

积分

1万

资产值

初级会员 Rank: 1

注册时间
2003-8-21
铜牌荣誉勋章(注册8年以上会员)
 楼主| 发表于 2009-5-6 11:54:01| 字数 144| - 中国–北京–北京 联通 | 显示全部楼层
ziding的批处理指令写得真是很强大,十分佩服,一会查一查好好理解一下。
LINZE不知道用什么编的,对我解决问题最好。
SK1418,要想多转NB,就得用控制面板里的NB转帐功能了。
虽然ZIDING和我开玩笑,不过我决定再给ZIDING和LINZE再各转50NB,补齐100NB,请查收。
回复 支持 反对

使用道具 举报

4060

回帖

39

积分

5747

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2006-1-19
发表于 2009-5-6 12:05:29| 字数 10| - 中国–辽宁–大连 联通 | 显示全部楼层

回复 #19 信仰 的帖子

玩笑的,兄弟,谢谢了
回复 支持 反对

使用道具 举报

3万

回帖

262

积分

1万

资产值

至尊会员III Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2007-7-24
银牌荣誉勋章(注册10年以上会员)
发表于 2009-5-6 12:37:55| 字数 5| - 中国–辽宁–大连 联通 | 显示全部楼层
人才济济.
签名换了...
回复 支持 反对

使用道具 举报

5443

回帖

0

积分

1560

资产值

入门会员 Rank: 1

注册时间
2009-3-22
发表于 2009-5-6 12:43:56| 字数 15| - 中国–江苏–南京 电信 | 显示全部楼层
ZiDing   能解释下吗?
看不懂
回复 支持 反对

使用道具 举报

9460

回帖

97

积分

6万

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2007-4-27
铜牌荣誉勋章(注册8年以上会员)银牌荣誉勋章(注册10年以上会员)月全勤勋章
发表于 2009-5-6 15:09:55| 字数 4| - 中国–江西–南昌 电信/江西服装学院 | 显示全部楼层
牛BB哄
懒惰比操劳更能消耗身体,经常用的钥匙,总是亮闪闪的!
回复 支持 反对

使用道具 举报

3795

回帖

3

积分

1万

资产值

初级会员 Rank: 1

注册时间
2003-8-21
铜牌荣誉勋章(注册8年以上会员)
 楼主| 发表于 2009-5-6 15:33:13| 字数 149| - 中国–北京–北京 鹏博士BGP | 显示全部楼层
看了半天批处理的文章,有点眉目,不过头也晕了。
唯一一点,if not exist "%%~nf"
这句中能不能用if not exist "%%f" 来代替?
查了文章说~n在这里应该是代表扩展环境变量的意思,但是没搞明白这两句的不同之处,请ZiDing或明白的解析一下。谢谢
回复 支持 反对

使用道具 举报

3795

回帖

3

积分

1万

资产值

初级会员 Rank: 1

注册时间
2003-8-21
铜牌荣誉勋章(注册8年以上会员)
 楼主| 发表于 2009-5-6 15:35:23| 字数 19| - 中国–北京–北京 鹏博士BGP | 显示全部楼层
另外,linze能否介绍一下你的代码?
回复 支持 反对

使用道具 举报

4060

回帖

39

积分

5747

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2006-1-19
发表于 2009-5-6 15:54:48| 字数 240| - 中国–辽宁–大连 联通 | 显示全部楼层
QUOTE:
Posted by 信仰 on 2009-5-6 15:33
看了半天批处理的文章,有点眉目,不过头也晕了。
唯一一点,if not exist "%%~nf"
这句中能不能用if not exist "%%f" 来代替?

不能
QUOTE:
查了文章说~n在这里应该是代表扩展环境变量的意思,但是没搞明白这两句的不同 ...

%%~nf 表示的意思是:将该环境变量的值设置为文件名,比如说F这里的值为123.jpg那么这里的f的值就会被替换为123而不是123.jpg
回复 支持 反对

使用道具 举报

4060

回帖

39

积分

5747

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2006-1-19
发表于 2009-5-6 15:56:16| 字数 135| - 中国–辽宁–大连 联通 | 显示全部楼层
QUOTE:
Posted by citroenc5 on 2009-5-6 12:43
ZiDing   能解释下吗?
看不懂

这些都是批处理的东西,我不知道改怎么说。
第一句for就是遍历所有的当前目录下的jpg文件,第二句是判断这个jpg同名的目录是否存在,然后第三句是移动文件到目录里面。
回复 支持 反对

使用道具 举报

5838

回帖

52

积分

8575

资产值

钻石会员 Rank: 3Rank: 3Rank: 3

注册时间
2007-1-8
发表于 2009-5-6 17:50:51| 字数 6| - 中国–北京–北京–海淀区 联通 | 显示全部楼层
进来拜拜牛人
HP 440 G4  16Gx2 M5100 1.92T
回复 支持 反对

使用道具 举报

1万

回帖

11

积分

1万

资产值

高级会员 Rank: 2Rank: 2

注册时间
2003-6-2
铜牌荣誉勋章(注册8年以上会员)
发表于 2009-5-6 18:00:28| 字数 23| - 中国–上海–上海 东方有线 | 显示全部楼层
真后悔当初学批处理的时候没有好好学if....
®™ 世风日下,人心不古,长此以往,国将不国...
回复 支持 反对

使用道具 举报

2万

回帖

162

积分

2万

资产值

至尊会员II Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2007-2-14
发表于 2009-5-6 18:14:25| 字数 4| - 中国–山东 移动 | 显示全部楼层

回复 #6 sk1418 的帖子

辛苦了 啊
实事求是 实话实说
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Powered by Discuz! X3.5 © 2001-2023 Comsenz Inc

GMT+8, 2025-1-23 21:13 , Processed in 0.204930 second(s), 70 queries , Gzip On, OPcache On.

手机版|小黑屋|安卓客户端|iOS客户端|Archiver|备用网址1|备用网址2|在线留言|专门网

返回顶部