拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。
※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。
前スレ
【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1424858999/
【.cmd】 バッチファイルスクリプト %12 【.bat】
https://mevius.5ch.net/test/read.cgi/tech/1489207631/
それ以前の過去スレ
%10 http://peace.2ch.net/test/read.cgi/tech/1374205515/
%9 http://toro.2ch.net/test/read.cgi/tech/1335015478/
%8 http://toro.2ch.net/test/read.cgi/tech/1315844420/
%7 http://hibari.2ch.net/test/read.cgi/tech/1298873550/
%6 http://hibari.2ch.net/test/read.cgi/tech/1277465356/
%5 http://pc12.2ch.net/test/read.cgi/tech/1242268171/
%4 http://pc12.2ch.net/test/read.cgi/tech/1229955189/
%3 http://pc11.2ch.net/test/read.cgi/tech/1217860043/
%2 http://pc12.2ch.net/test/read.cgi/tech/1197881068/
%1 http://pc11.2ch.net/test/read.cgi/tech/1178281991/
探検
【.cmd】 バッチファイルスクリプト %13 【.bat】
■ このスレッドは過去ログ倉庫に格納されています
2018/11/21(水) 14:52:07.84ID:v84I4o+L
618デフォルトの名無しさん
2019/11/26(火) 16:10:59.88ID:XdTMGSyO とにかくダウンロードが正常に終わるようにならないと先に進めないだろ
ダウンロード時にフォルダが決まるならそれで問題解決だし
外部ダウンローダを使うのなら、落としたファイルとurlとの対応が取れるのかが問題
それが可能(例えばファイル名が行番号になってるとか)なら
落とした後にファイルを対応するフォルダに移動すればいい
もちろんbat等の自動化で
ダウンロード時にフォルダが決まるならそれで問題解決だし
外部ダウンローダを使うのなら、落としたファイルとurlとの対応が取れるのかが問題
それが可能(例えばファイル名が行番号になってるとか)なら
落とした後にファイルを対応するフォルダに移動すればいい
もちろんbat等の自動化で
619デフォルトの名無しさん
2019/11/26(火) 16:20:26.70ID:ImxGWCjG start "" /wait bitsadmin /TRANSFER FILEDOWNLOAD %%B %~dp0\%%A\%%C
urlに&とか%は無いの?
urlに&とか%は無いの?
620デフォルトの名無しさん
2019/11/26(火) 16:26:58.84ID:NW9y+uW0621デフォルトの名無しさん
2019/11/26(火) 16:34:10.52ID:NW9y+uW0 >>619
ある。%20とか?とか。
ttps://hoge.hoge.com/foto/img/MARC%20MAX/MARC%20MAX-20191003123-A-12345.jpg?123456
ttps://hoge.hoge.com/foto/img/MARC%20MAX/MARC%20MAX-20191003123-A-12346jpg?1234
こんな感じ。
bitsadmin~を一つだけ書いた場合はちゃんと動作するから大丈夫な・・・
えっ??まさか%%
ある。%20とか?とか。
ttps://hoge.hoge.com/foto/img/MARC%20MAX/MARC%20MAX-20191003123-A-12345.jpg?123456
ttps://hoge.hoge.com/foto/img/MARC%20MAX/MARC%20MAX-20191003123-A-12346jpg?1234
こんな感じ。
bitsadmin~を一つだけ書いた場合はちゃんと動作するから大丈夫な・・・
えっ??まさか%%
622デフォルトの名無しさん
2019/11/26(火) 16:50:52.29ID:ISv3uuWx >>620
一個ずつドラッグドロップする気?
一個ずつドラッグドロップする気?
623デフォルトの名無しさん
2019/11/26(火) 16:51:59.31ID:ISv3uuWx >>618
ダウンローダーなら正常に終わるでしょ
ダウンローダーなら正常に終わるでしょ
624デフォルトの名無しさん
2019/11/26(火) 16:57:32.34ID:XdTMGSyO >>623
一般的なダウンローダなら、urlの末尾がファイル名になるが
名前の重複も多く起き、その場合、ダウンローダは自動的にリネームする
aaa.jpg, aaa(1).jpgのように
しかも(1)が付くのは早くダウンロードが終わったものでリストの上から順というわけでもない
これとリストにあるurlとの対応をとるのは大変だと思わん?
一般的なダウンローダなら、urlの末尾がファイル名になるが
名前の重複も多く起き、その場合、ダウンローダは自動的にリネームする
aaa.jpg, aaa(1).jpgのように
しかも(1)が付くのは早くダウンロードが終わったものでリストの上から順というわけでもない
これとリストにあるurlとの対応をとるのは大変だと思わん?
625デフォルトの名無しさん
2019/11/26(火) 17:03:32.54ID:JyI6kWkc626デフォルトの名無しさん
2019/11/26(火) 17:04:08.93ID:ISv3uuWx >>624
重複はツリー上で保存すりゃ起きない
重複はツリー上で保存すりゃ起きない
627デフォルトの名無しさん
2019/11/26(火) 17:07:32.81ID:NW9y+uW0 >>622
その方が早いと言ってます。どっちが早いか試してみたら?
https://www.yahoo.co.jp/ ロゴとその左右のアイコン
https://www.rakuten.co.jp/ ロゴから購入履歴までのアイコン
https://www.nikkei.com/ ロゴと、その下の写真3つ
DL先のフォルダ開く、URLひらく、D&D 3工程
URLをまとめてダウンローダーに入れる、ダウンロードフォルダにまとまって入ってるから開く、移動先のフォルダを開く、該当のファイルを検索する D&D 5工程
フォルダごとにURLをダウンローダーにいれる、ダウンロードフォルダにまとまって入ってるから開く、移動先のフォルダを開く、D&D 4工程
その方が早いと言ってます。どっちが早いか試してみたら?
https://www.yahoo.co.jp/ ロゴとその左右のアイコン
https://www.rakuten.co.jp/ ロゴから購入履歴までのアイコン
https://www.nikkei.com/ ロゴと、その下の写真3つ
DL先のフォルダ開く、URLひらく、D&D 3工程
URLをまとめてダウンローダーに入れる、ダウンロードフォルダにまとまって入ってるから開く、移動先のフォルダを開く、該当のファイルを検索する D&D 5工程
フォルダごとにURLをダウンローダーにいれる、ダウンロードフォルダにまとまって入ってるから開く、移動先のフォルダを開く、D&D 4工程
628デフォルトの名無しさん
2019/11/26(火) 17:10:41.82ID:ImxGWCjG629デフォルトの名無しさん
2019/11/26(火) 17:15:21.53ID:NW9y+uW0 で、私はその3工程ですらめんどくっせーってなって、3工程とも省けんかなと考えた
#今後も同じ作業あるから、今なんとかできてると今後が楽。
ダウンローダーのダウンロード先の問題って、こうなるんだよね
tp://imepic.jp/20191126/620210
ふ、ふかい。(これはFirefoxアドオンのスクラップブック。DownloadAllThemもこういう感じ)
お気に入りのサイト見るだけならアドオンからわかるんだけど、画像を取り出すとなると
エクスプローラーに行く必要がある
#今後も同じ作業あるから、今なんとかできてると今後が楽。
ダウンローダーのダウンロード先の問題って、こうなるんだよね
tp://imepic.jp/20191126/620210
ふ、ふかい。(これはFirefoxアドオンのスクラップブック。DownloadAllThemもこういう感じ)
お気に入りのサイト見るだけならアドオンからわかるんだけど、画像を取り出すとなると
エクスプローラーに行く必要がある
630デフォルトの名無しさん
2019/11/26(火) 17:15:53.07ID:ISv3uuWx631デフォルトの名無しさん
2019/11/26(火) 17:18:49.77ID:NW9y+uW0632デフォルトの名無しさん
2019/11/26(火) 17:19:23.77ID:ImxGWCjG 0バイトになるのは書き込み権限とか
管理者で実行しても変わらない?
管理者で実行しても変わらない?
633デフォルトの名無しさん
2019/11/26(火) 17:23:52.25ID:NW9y+uW0 >>632
transfarされる前に次にいっちゃって、でもファイル作れって言ってるから空のファイルつくりましたって感じに見える
transfar実行画面のBYTE:0/0のところが、いっこづつやったときはにゅーーーって動いてファイル捕れるんですが
ここが0/0のままで次を始めてしまう
Wait入れようが、Pauseいれようが、そこは同じですね
transfarされる前に次にいっちゃって、でもファイル作れって言ってるから空のファイルつくりましたって感じに見える
transfar実行画面のBYTE:0/0のところが、いっこづつやったときはにゅーーーって動いてファイル捕れるんですが
ここが0/0のままで次を始めてしまう
Wait入れようが、Pauseいれようが、そこは同じですね
634デフォルトの名無しさん
2019/11/26(火) 17:42:23.81ID:NW9y+uW0 >>631
エスケープさせてできました!!
コマンド自体もスプレッドシートに関数くんでやってるので、どこかの時点で%
を置き換えてやることにします。
ヒントありがとうございました。
みなさまもたくさんヒントありがとうございました。
エスケープさせてできました!!
コマンド自体もスプレッドシートに関数くんでやってるので、どこかの時点で%
を置き換えてやることにします。
ヒントありがとうございました。
みなさまもたくさんヒントありがとうございました。
635デフォルトの名無しさん
2019/11/26(火) 17:50:12.00ID:XdTMGSyO >>634
""で括ってやれば?
ダメならちょっと上のsetlocal enabledelayedexpansionを参考に
pushd %~dp0
for /f "tokens=1-3" %%A in (li.txt) do (
if not exist "%~dp0\%%A\." mkdir "%~dp0\%%A"
start "" /wait bitsadmin /TRANSFER FILEDOWNLOAD "%%B" "%~dp0\%%A\%%C"
)
""で括ってやれば?
ダメならちょっと上のsetlocal enabledelayedexpansionを参考に
pushd %~dp0
for /f "tokens=1-3" %%A in (li.txt) do (
if not exist "%~dp0\%%A\." mkdir "%~dp0\%%A"
start "" /wait bitsadmin /TRANSFER FILEDOWNLOAD "%%B" "%~dp0\%%A\%%C"
)
636デフォルトの名無しさん
2019/12/07(土) 09:30:10.75ID:/m01ABgd >>634
おい逃げるなよ
おい逃げるなよ
637デフォルトの名無しさん
2019/12/08(日) 23:47:18.40ID:wNkvi2te638デフォルトの名無しさん
2019/12/09(月) 14:56:56.31ID:0+3TB6cR トレンドに#業務ハックというのが上がってた。フーン
ここにいるわるいオジサン達は徹底的に省力化して、あとは仕事するフリして過ごすようなことは
まさかしていませんよね?
ここにいるわるいオジサン達は徹底的に省力化して、あとは仕事するフリして過ごすようなことは
まさかしていませんよね?
639デフォルトの名無しさん
2019/12/10(火) 05:01:38.65ID:CfjKoCjD 無理そうな気はしつつも質問
苗字<tab>名前<tab>年齢<tab>住所
田中<tab>太郎<tab>27<tab>大阪
山田<tab>花子<tab><tab>東京
佐藤<tab><tab>35<tab>
こんな表のテキストファイルを<tab>を区切り文字として列指定して読み込みたいんだけど
tokens=2,4
にしても連続した<tab>は一括りに扱われて山田と佐藤は対象の列がずれちゃうよね
これはもうvbsやVBAじゃないと無理ぽかな
苗字<tab>名前<tab>年齢<tab>住所
田中<tab>太郎<tab>27<tab>大阪
山田<tab>花子<tab><tab>東京
佐藤<tab><tab>35<tab>
こんな表のテキストファイルを<tab>を区切り文字として列指定して読み込みたいんだけど
tokens=2,4
にしても連続した<tab>は一括りに扱われて山田と佐藤は対象の列がずれちゃうよね
これはもうvbsやVBAじゃないと無理ぽかな
640デフォルトの名無しさん
2019/12/10(火) 07:15:07.41ID:BTxKZMwl >>639
delimsに指定してもダメなの?
delimsに指定してもダメなの?
641デフォルトの名無しさん
2019/12/10(火) 07:44:27.57ID:CfjKoCjD 半角スペースは文字列として扱いたいから<tab>だけを指定してるけどダメよー
642デフォルトの名無しさん
2019/12/10(火) 09:16:41.59ID:3V5uc2tI >>639
tabの間にスペースを入れてみた。
これは前処理なので、あとはお好きにどうぞ
@echo off
set "t=<tab>"
call :x > test2.txt
pause & goto :eof
:x
for /f "delims=" %%i in (test1.txt) do ( set a=%%i
setlocal enabledelayedexpansion
set a=!a:%t%%t%=%t% %t%!
set a=!a:%t%%t%=%t% %t%!
echo.!a!
endlocal)
<tab>にはタブを入力
tabの間にスペースを入れてみた。
これは前処理なので、あとはお好きにどうぞ
@echo off
set "t=<tab>"
call :x > test2.txt
pause & goto :eof
:x
for /f "delims=" %%i in (test1.txt) do ( set a=%%i
setlocal enabledelayedexpansion
set a=!a:%t%%t%=%t% %t%!
set a=!a:%t%%t%=%t% %t%!
echo.!a!
endlocal)
<tab>にはタブを入力
643デフォルトの名無しさん
2019/12/11(水) 01:05:38.94ID:hz4JPg2Q おお、値の無い列には半角スペースを入れてしまうわけか
こりゃ気付かんかったサンクス
こりゃ気付かんかったサンクス
644デフォルトの名無しさん
2019/12/13(金) 01:06:30.14ID:7bx1tfw6 バッチでフォルダの表示方法とかかえられないよ?
詳細にして 表示の種類に長さとか大きさとか
いれたいんだけど
それをワンクリックでやりたい
https://i-bitzedge.com/wp-content/uploads/2016/03/Search-Contextual-tab-Windows-10.jpg
名前とか日付のとこに 長さとか大きさを追加するってことね
詳細にして 表示の種類に長さとか大きさとか
いれたいんだけど
それをワンクリックでやりたい
https://i-bitzedge.com/wp-content/uploads/2016/03/Search-Contextual-tab-Windows-10.jpg
名前とか日付のとこに 長さとか大きさを追加するってことね
645デフォルトの名無しさん
2019/12/13(金) 01:06:50.17ID:7bx1tfw6 かえられないよの?
646デフォルトの名無しさん
2019/12/13(金) 04:06:09.26ID:t9dRWycX >>645
レジストリ値弄れば出来たと思う。
昔職場の環境統一するのに使ってた。
詳細はRegshotとかで差分とって。
バッチからはRegコマンドで設定するかRegEdit /s で読み込むかのどちらか。
レジストリ値弄れば出来たと思う。
昔職場の環境統一するのに使ってた。
詳細はRegshotとかで差分とって。
バッチからはRegコマンドで設定するかRegEdit /s で読み込むかのどちらか。
647デフォルトの名無しさん
2019/12/13(金) 04:07:58.73ID:t9dRWycX >>645
設定後にShellの再起動も必要だったかも。
設定後にShellの再起動も必要だったかも。
648デフォルトの名無しさん
2019/12/13(金) 06:18:44.99ID:SOm460Ps649デフォルトの名無しさん
2019/12/19(木) 16:55:31.02ID:l8jrOhSU こういうの実行するとサブフォルダのファイルでは空行ではなくピリオドが出力されるんですが何故ですか?
まあ実用上の問題は無いんですが
@echo off
for /r %%i in (*.*) do (
echo "%%~nxi"
echo.
)
pause
まあ実用上の問題は無いんですが
@echo off
for /r %%i in (*.*) do (
echo "%%~nxi"
echo.
)
pause
650デフォルトの名無しさん
2019/12/19(木) 17:08:49.51ID:TZP99wd2 ピリオドとかコロンじゃなくて、カンマとかセミコロン使えばいいよ
651デフォルトの名無しさん
2019/12/19(木) 17:16:19.46ID:TZP99wd2 イコールもお仲間で、この3つが特別区切り記号らしいよ
652デフォルトの名無しさん
2019/12/19(木) 17:18:33.06ID:l8jrOhSU >>650
はい、カンマを使うと問題が起きないことは確認していたのですがピリオドだと何故こうなるのか気になりました
はい、カンマを使うと問題が起きないことは確認していたのですがピリオドだと何故こうなるのか気になりました
653デフォルトの名無しさん
2019/12/19(木) 17:23:09.51ID:TZP99wd2 特別区切り記号だから
654デフォルトの名無しさん
2019/12/22(日) 19:05:52.87ID:DvnYZkai /rが悪さをしてるんじゃね
サブフォルダの中でピリオドを2個にして
サブフォルダの中でピリオドを2個にして
655デフォルトの名無しさん
2019/12/23(月) 21:26:36.07ID:qZ1/nSQb startコマンドでAPを起動後、「F11」をバッチファイルから入力するには、どう記述すればいいのでしょうか?
656デフォルトの名無しさん
2019/12/25(水) 01:34:54.95ID:vipj7N9s echo class Program{static void Main(){System.Windows.Forms.SendKeys.SendWait("{F11}");}}>temp.cs
FOR /F %%i IN ('dir /b /s %WINDIR%\Microsoft.NET\Framework\csc.exe') DO set cscexe=%%i
%cscexe% temp.cs
temp.exe
FOR /F %%i IN ('dir /b /s %WINDIR%\Microsoft.NET\Framework\csc.exe') DO set cscexe=%%i
%cscexe% temp.cs
temp.exe
657デフォルトの名無しさん
2019/12/25(水) 11:28:21.34ID:E0w5VXt3 >>656
ワラタ
ワラタ
658デフォルトの名無しさん
2019/12/25(水) 12:39:52.06ID:32sm7KoS >>656
すごいな、プロ?
すごいな、プロ?
659デフォルトの名無しさん
2019/12/26(木) 00:38:52.07ID:ocAthgHy ウイルスに使えそうw
660デフォルトの名無しさん
2019/12/26(木) 18:09:54.44ID:gPRn8RL/ 職業 プロバッチファイルスクリプター(自称)
661デフォルトの名無しさん
2019/12/27(金) 00:09:22.71ID:CW1qzWXe %1がフォルダ名の場合、サイズを示す%~z1は0以外の数字になる
何を表しているのか不明
何を表しているのか不明
662デフォルトの名無しさん
2019/12/27(金) 07:50:28.51ID:sZ8rOkNi エントリーレコードのsizeじゃね?テキトーmaybe
663デフォルトの名無しさん
2019/12/28(土) 12:01:21.14ID:c8Bqzbdx664デフォルトの名無しさん
2020/01/02(木) 17:54:09.99ID:LCDlLvJS for の %~tI のみたいに簡単にディレクトリの作成日時を取得する方法教えてください
dir /tc 何か | findstr findstr /e /c:"<DIR> ."
みたいにして取り出して整形するのは何か間違えている気がしてならないので
dir /tc 何か | findstr findstr /e /c:"<DIR> ."
みたいにして取り出して整形するのは何か間違えている気がしてならないので
665デフォルトの名無しさん
2020/01/02(木) 20:56:32.19ID:gZNl6+48 %~t1 とかで出てくるのは更新日時じゃなかった?
作成日時ならそれでいんじゃね?
for /f "skip=3 tokens=1-3,5,6 delims=/: " %a in ('dir /tc %windir%') do (
echo %a%b%c%d%e
goto :LOOPOUT
)
:LOOPOUT
pause
日時はシステム依存で表示形式変わるので整形したい形に適宜tokensやdelims、echoのとこ弄るといい
何に利用するのか知らないけど powershell なら秒まで取得出来るしバッチより痒いところに手が届く
作成日時ならそれでいんじゃね?
for /f "skip=3 tokens=1-3,5,6 delims=/: " %a in ('dir /tc %windir%') do (
echo %a%b%c%d%e
goto :LOOPOUT
)
:LOOPOUT
pause
日時はシステム依存で表示形式変わるので整形したい形に適宜tokensやdelims、echoのとこ弄るといい
何に利用するのか知らないけど powershell なら秒まで取得出来るしバッチより痒いところに手が届く
666デフォルトの名無しさん
2020/01/02(木) 20:59:21.16ID:gZNl6+48 修正
%a→%%a
echo %%a%%b%%c%%d%%e
%a→%%a
echo %%a%%b%%c%%d%%e
667デフォルトの名無しさん
2020/01/03(金) 08:18:43.19ID:6GenP8Ub ありがとうございます
何か一発でディレクトリ作成日時を取り出すなら PowerShell 使おう、
って話になるんですね、ミリ秒単位までいけるみたいですし
何か一発でディレクトリ作成日時を取り出すなら PowerShell 使おう、
って話になるんですね、ミリ秒単位までいけるみたいですし
668デフォルトの名無しさん
2020/01/03(金) 09:56:56.50ID:+cYn5CAB forfiles でフォルダの更新日時も得られる、ただしファイルが多いと遅い
forfiles /M ファイル名 /C "cmd /c echo @fname @fdate @ftime"
dirだと得られない秒もOK、仕様がばらばら、バッチは不思議
forfiles /M ファイル名 /C "cmd /c echo @fname @fdate @ftime"
dirだと得られない秒もOK、仕様がばらばら、バッチは不思議
669デフォルトの名無しさん
2020/01/03(金) 13:02:11.21ID:fh28MJ7p 気まぐれに試してみたらskip=2と3の結果が同じでskip=4だった
ifでちゃんと絞った方が良さげ
for /f "tokens=1,3,4* delims= " %a in ('dir /ad /tc %windir%') do @if "%d"=="." @echo %a %b
ifでちゃんと絞った方が良さげ
for /f "tokens=1,3,4* delims= " %a in ('dir /ad /tc %windir%') do @if "%d"=="." @echo %a %b
670デフォルトの名無しさん
2020/01/04(土) 01:23:14.19ID:/SGph6WX dir ?
親DIRがピリオド2文字なのに
なぜ表示されるのか
親DIRがピリオド2文字なのに
なぜ表示されるのか
671デフォルトの名無しさん
2020/01/04(土) 07:59:26.77ID:T5YxFwCT . と .. はディレクトリ作成時に同時に作成されルート以外の全ディレクトリに存在する特殊な .link のようなモノ
だから .. の(作成|更新)日時は自ディレクトリと同じ
.. は親ディレクトリを指し示すが親ディレクトリとは別のモノ
なぜと問われても、そういう仕様だから、としか
だから .. の(作成|更新)日時は自ディレクトリと同じ
.. は親ディレクトリを指し示すが親ディレクトリとは別のモノ
なぜと問われても、そういう仕様だから、としか
672デフォルトの名無しさん
2020/01/04(土) 09:10:30.39ID:/SGph6WX673デフォルトの名無しさん
2020/01/05(日) 07:41:36.68ID:QOfK3b7c >>670
dir /b ? だと表示しない謎
dir /b ? だと表示しない謎
674デフォルトの名無しさん
2020/01/06(月) 09:00:53.84ID:VNkic2h1 ディレクトリと同じ扱いだから
675デフォルトの名無しさん
2020/01/06(月) 09:51:26.33ID:8LUwvv7f 先頭にドットがあると要注意だよな
ワイルドカードがドットを無視する場合があるから
>copy nul .txt
>copy nul txt
>dir/b
.txt
txt
>del txt*
>dir
ファイルが見つかりません
ワイルドカードがドットを無視する場合があるから
>copy nul .txt
>copy nul txt
>dir/b
.txt
txt
>del txt*
>dir
ファイルが見つかりません
676デフォルトの名無しさん
2020/01/08(水) 10:00:17.73ID:cX66OF4O 簡単な処理だからbatでいいかと思って書き始めたら思ったより複雑になって、なんでbatで書いちゃったんだろってなるのいい加減やめたい
677デフォルトの名無しさん
2020/01/09(木) 05:17:30.74ID:yWGnEtOx @echo off
for /L %%a in (1,1,666) do set /a a+=%%a
for /L %%a in (2,2,666) do set /a a+=%%a
echo %a%
pause
for /L で遊んでたらなんか凄いの見付けた
for /L %%a in (1,1,666) do set /a a+=%%a
for /L %%a in (2,2,666) do set /a a+=%%a
echo %a%
pause
for /L で遊んでたらなんか凄いの見付けた
678デフォルトの名無しさん
2020/01/09(木) 07:12:55.26ID:hqwlnXXW >>676
PowerShellでいいんじゃね?
PowerShellでいいんじゃね?
679デフォルトの名無しさん
2020/01/17(金) 04:34:01.53ID:AQjsaOZ5 ドラッグ&ドロップ したファイル名を表示させようと思ってんだけど
win10です
テスト.bat
-----------------------
@echo off
for %%f in (%*) do (
echo %%f
)
pause
--------------------------
だとドラッグドロップしても画面が速攻消えてうまく起動しないんだけど(
ちなみに
@echo off
echo %1
pause
だけだとちゃんとフルパスで表示されます
%%と%の違いってなんですか?
win10です
テスト.bat
-----------------------
@echo off
for %%f in (%*) do (
echo %%f
)
pause
--------------------------
だとドラッグドロップしても画面が速攻消えてうまく起動しないんだけど(
ちなみに
@echo off
echo %1
pause
だけだとちゃんとフルパスで表示されます
%%と%の違いってなんですか?
680デフォルトの名無しさん
2020/01/17(金) 05:40:03.52ID:FVJQifjo 引数が最低1つ以上の場合
:LOOP
echo "%~nx1"
shift
if not "%~1"=="" goto :LOOP
pause
引数が0個の可能性がある場合
:LOOP
if "%~1"=="" pause &exit /b
echo "%~nx1"
shift
goto :LOOP
:LOOP
echo "%~nx1"
shift
if not "%~1"=="" goto :LOOP
pause
引数が0個の可能性がある場合
:LOOP
if "%~1"=="" pause &exit /b
echo "%~nx1"
shift
goto :LOOP
681デフォルトの名無しさん
2020/01/17(金) 08:29:31.32ID:B/evOggr shift使わない方法でお願いします
682デフォルトの名無しさん
2020/01/17(金) 08:39:02.58ID:FVJQifjo >>679
その方法だとファイル名やPathに&とか全角spとかダメ文字含む+半角spが無くて
引数がクオートされていない場合に上手く行かない
がこの場合引数欠けるだけだと思うので落ちるのは文字コード(ShiftJIS)と改行コード(CR+LF)を確認
その方法だとファイル名やPathに&とか全角spとかダメ文字含む+半角spが無くて
引数がクオートされていない場合に上手く行かない
がこの場合引数欠けるだけだと思うので落ちるのは文字コード(ShiftJIS)と改行コード(CR+LF)を確認
683デフォルトの名無しさん
2020/01/17(金) 18:45:30.02ID:Xdf1G9+g WSLって専用スレあったりする?
684デフォルトの名無しさん
2020/01/17(金) 18:48:00.37ID:T5MzU9c3685デフォルトの名無しさん
2020/01/18(土) 06:36:29.01ID:77YAYmoS >あー>>680のやり方の方がいいわせか
そうじゃない。いいも悪いもない。こういう方法もあるよと提示しただけ
バッチはどうやってもバグを内包する。極論動けば何でもいい
バグを発生させないよう限定された条件の元で利用するかバグ避けコードを書くかになる
そういったのを理解した上で簡単な事をやるくらいならいいけど
少し複雑な事をしようとすると確実にあちらを立てればこちらが立たずで行き詰まったり面倒な事になる
面倒を避けたいなら初めからPowerShellとかでやった方がいい
今から覚えるなら尚更
そうじゃない。いいも悪いもない。こういう方法もあるよと提示しただけ
バッチはどうやってもバグを内包する。極論動けば何でもいい
バグを発生させないよう限定された条件の元で利用するかバグ避けコードを書くかになる
そういったのを理解した上で簡単な事をやるくらいならいいけど
少し複雑な事をしようとすると確実にあちらを立てればこちらが立たずで行き詰まったり面倒な事になる
面倒を避けたいなら初めからPowerShellとかでやった方がいい
今から覚えるなら尚更
686デフォルトの名無しさん
2020/01/18(土) 08:02:35.56ID:UuH5oHRt687デフォルトの名無しさん
2020/01/18(土) 23:29:59.70ID:jJ2WRqDf688デフォルトの名無しさん
2020/01/23(木) 20:57:19.47ID:qiuXI8ht689デフォルトの名無しさん
2020/01/26(日) 21:47:29.72ID:Nyn5xlpx 2つのウィンドウで別フォルダを表示してファイル存在の有無によって選択/解除ができその後コピーや移動ができる、そんなファイラーがあったら便利だなと探してました。
WinZIP関係のソフトで7-zipというのがあり、なぜか解凍するとその中に7-zip file managerというのが入っていて
起動してみると左右で別フォルダを表示することができオッ、と思ったのですが、存在を比較する機能はありませんでしたorz
ファイル存在比較 で検索したら 【バッチ作成】の文字が目にとまりページを開くと次のようなバッチファイルでした。コピー/移動作業前の確認用に
便利だなと思いました。実際はif existでもいいし、自分用に少し書き換えました
@echo off
echo AにあってBに無いファイル
pushd \A
for %%X in (*) do if not exist \B\%%X echo %%X
popd
echo BにあってAに無いファイル
pushd \B
for %%X in (*) do if not exist \A\%%X echo %%X
popd
popd、pushdってアスキーのラーニングシステムシリーズ本のMS-DOSのやつで最初に書かれていたんだけどまったく使わないわなんて思ってそのままでした。
WinZIP関係のソフトで7-zipというのがあり、なぜか解凍するとその中に7-zip file managerというのが入っていて
起動してみると左右で別フォルダを表示することができオッ、と思ったのですが、存在を比較する機能はありませんでしたorz
ファイル存在比較 で検索したら 【バッチ作成】の文字が目にとまりページを開くと次のようなバッチファイルでした。コピー/移動作業前の確認用に
便利だなと思いました。実際はif existでもいいし、自分用に少し書き換えました
@echo off
echo AにあってBに無いファイル
pushd \A
for %%X in (*) do if not exist \B\%%X echo %%X
popd
echo BにあってAに無いファイル
pushd \B
for %%X in (*) do if not exist \A\%%X echo %%X
popd
popd、pushdってアスキーのラーニングシステムシリーズ本のMS-DOSのやつで最初に書かれていたんだけどまったく使わないわなんて思ってそのままでした。
690デフォルトの名無しさん
2020/01/26(日) 23:31:16.84ID:Jc09ZNe5 そんなことまで無理にcmdでやらんでも・・・
WinMergeすら入れさせてもらえない環境なのか?
WinMergeすら入れさせてもらえない環境なのか?
691デフォルトの名無しさん
2020/01/27(月) 09:15:34.68ID:+0QHC3Wk 日記?
692デフォルトの名無しさん
2020/01/28(火) 22:49:16.68ID:lbmGsP+l "送る"って意外と不自由なんだな…
バッチファイルでワンクッション入れて(゚д゚)ウマー
バッチファイルでワンクッション入れて(゚д゚)ウマー
693デフォルトの名無しさん
2020/01/28(火) 23:14:40.52ID:Vj4Y99PX 何が不自由なの
694デフォルトの名無しさん
2020/01/30(木) 20:40:29.71ID:6k+E856c このバッチで何か入力しても a が消える
@echo off
set /p a=data=
rem %a=%
echo data=%a%
pause
@echo off
set /p a=data=
rem %a=%
echo data=%a%
pause
695デフォルトの名無しさん
2020/01/30(木) 22:45:14.45ID:VR7HU+gm >693
勉強不足があるかも知れんが
・さっさと画面を閉じちゃう(cmd/kで回避)
・%1に入れてくれない
・ファイル名の後ろにオプションが付けられない
勉強不足があるかも知れんが
・さっさと画面を閉じちゃう(cmd/kで回避)
・%1に入れてくれない
・ファイル名の後ろにオプションが付けられない
696デフォルトの名無しさん
2020/01/30(木) 23:26:29.39ID:D5cDwkr0 ワンクッションってそういう意味か
昔からスクリプトを送るに登録することなんて当たり前のことだったけどね
むしろexeしか登録しない人はこのスレにはいないとまで思ってた
昔からスクリプトを送るに登録することなんて当たり前のことだったけどね
むしろexeしか登録しない人はこのスレにはいないとまで思ってた
697デフォルトの名無しさん
2020/01/31(金) 11:16:38.40ID:JWfC0/9e >>694 何かエラーすると正常になるよ(笑)
@echo off
set a=123
rem %a=%
if defined a (echo 1) else echo 0
echo a=%a%
nul 2> nul
if defined a (echo 1) else echo 0
echo a=%a%
pause
結果
0
a=
1
a=123
@echo off
set a=123
rem %a=%
if defined a (echo 1) else echo 0
echo a=%a%
nul 2> nul
if defined a (echo 1) else echo 0
echo a=%a%
pause
結果
0
a=
1
a=123
698デフォルトの名無しさん
2020/02/09(日) 18:23:32.44ID:62ExnvKA 叩いたらスクリーンセーバーをオフにしたく、killでスクリーンセーバーのscrファイルを終了させるバッチを作ったんだけど、Windows10のタブレットモードで動かすとスタートメニューが起動してしまう。
元々立ち上げてたソフトを表示したいんたけど何か良い方法ないかな?
ソフトを立ち上げっぱなし→スクリーンセーバー起動→条件下でスクリーンセーバーkillバッチ→立ち上げてたソフトに戻る
ってのにしたいのにkillバッチ→スタートメニューになってしまう
あと、バッチを走らせると一瞬黒いcmd画面がでるのでvbs経由で画面を出さないようにしようとしたけどこちらもうまくいかない…
元々立ち上げてたソフトを表示したいんたけど何か良い方法ないかな?
ソフトを立ち上げっぱなし→スクリーンセーバー起動→条件下でスクリーンセーバーkillバッチ→立ち上げてたソフトに戻る
ってのにしたいのにkillバッチ→スタートメニューになってしまう
あと、バッチを走らせると一瞬黒いcmd画面がでるのでvbs経由で画面を出さないようにしようとしたけどこちらもうまくいかない…
699デフォルトの名無しさん
2020/02/10(月) 13:13:43.33ID:0DoxGo8j スクリーンセーバー動いてるのに、
どうやってバッチ叩いてんの?
さっぱりわからん
どうやってバッチ叩いてんの?
さっぱりわからん
700デフォルトの名無しさん
2020/02/10(月) 23:18:37.16ID:B/3TWI1a >>698
ネタだよね?
ネタだよね?
701デフォルトの名無しさん
2020/02/11(火) 12:30:00.59ID:DitzTCfU 何かをトリガーにしてタスクから叩くって事じゃないかな
702デフォルトの名無しさん
2020/02/11(火) 17:11:28.69ID:DSTYXSth 特定のキー操作で解除するタイプのスクリーンセーバーなのかな?
でもそれならそれでkillするんじゃなくて該当のキーを送ればよいだけな気がするけど
でもそれならそれでkillするんじゃなくて該当のキーを送ればよいだけな気がするけど
703デフォルトの名無しさん
2020/02/11(火) 17:51:57.47ID:hksaF/sY Windows7標準のmklinkでシンボリックリンクを作ると
リンクのタイムスタンプ(作成、更新、アクセスいずれも)は
リンク先ファイルのタイムスタンプに関係なくリンク作成時点のものになり
普通のファイルのようにはタイムスタンプを変更できないようだけど
変更する方法ある?
ハードリンクなら同じものを見ることになるから勝手に揃うけど
使い分けの方針が定まらなくてあまり使ってない
リンクのタイムスタンプ(作成、更新、アクセスいずれも)は
リンク先ファイルのタイムスタンプに関係なくリンク作成時点のものになり
普通のファイルのようにはタイムスタンプを変更できないようだけど
変更する方法ある?
ハードリンクなら同じものを見ることになるから勝手に揃うけど
使い分けの方針が定まらなくてあまり使ってない
704デフォルトの名無しさん
2020/02/11(火) 23:47:43.79ID:9k84sg+E705デフォルトの名無しさん
2020/02/14(金) 23:11:39.08ID:2Mmdz3hG Windows Vistaは2017年にサポートが終了しましたがWindows Server 2008向けのセキュリティ更新プログラムを手動でインストールすることができていました。
ところがどの順番でどれをインスコすればいいのか面倒、、、それを解決するバッチプログラムを作った方がいます。
バッチファイルの記述がフムフム、へぇ〜という感じで自分にはとても勉強になりました。興味ある方はどぞ
創造の柱
http://blog.livedoor.jp/pillars_of_creation/archives/1831755.html
ところがどの順番でどれをインスコすればいいのか面倒、、、それを解決するバッチプログラムを作った方がいます。
バッチファイルの記述がフムフム、へぇ〜という感じで自分にはとても勉強になりました。興味ある方はどぞ
創造の柱
http://blog.livedoor.jp/pillars_of_creation/archives/1831755.html
706デフォルトの名無しさん
2020/03/24(火) 10:56:05.36 このスレで聞くべきなのか分かりませんが、Windowsで数千個のPDFを一括処理したいので、取りあえずここで聞いてみます。
PDFをAcrobatで開いた時のプロパティ(「文書のプロパティ」で、"表示"、"ページレイアウト"、"倍率"を設定できますが、
1つ1つ手作業で設定するのはさすがに無理です。
Javaの様なプログラミング言語でも、他のアプリでも何でもいいんですが、この文書のプロパティを一括で設定する方法って何がありますか?
PDFをAcrobatで開いた時のプロパティ(「文書のプロパティ」で、"表示"、"ページレイアウト"、"倍率"を設定できますが、
1つ1つ手作業で設定するのはさすがに無理です。
Javaの様なプログラミング言語でも、他のアプリでも何でもいいんですが、この文書のプロパティを一括で設定する方法って何がありますか?
707デフォルトの名無しさん
2020/03/24(火) 18:54:16.84ID:k6OnWQi4 それってAcrobatのデフォルトの表示方法を変えればいいんじゃない?
708デフォルトの名無しさん
2020/03/24(火) 19:52:05.20ID:LC2xv/4E 変更前後のAcrobatのレジストリをエクスポートしてdiff比較してどこが変わってるか確認するのが最初にやることだろうね
709デフォルトの名無しさん
2020/03/24(火) 20:27:13.25 >>707
Acrobat側の表示方法を変えるのじゃ無く、PDF側で変えたい
Acrobat側の表示方法を変えるのじゃ無く、PDF側で変えたい
710デフォルトの名無しさん
2020/03/24(火) 20:53:17.46ID:k6OnWQi4 そもそもPDF側に表示方法が保存されてるものなの?
結局Acrobat側の問題じゃない?
結局Acrobat側の問題じゃない?
711デフォルトの名無しさん
2020/03/24(火) 22:35:05.89ID:tH0Sn0AY 「pdf コマンドライン ページレイアウト」でググったら
cpdf (Coherent PDF Command Line Tools) を紹介するサイトが出てきた
これ、見開きを縦スクロールにしたり単ページにしたりできて面白い
"倍率" が 2017/10 の時点で無理らしいけど
cpdf (Coherent PDF Command Line Tools) を紹介するサイトが出てきた
これ、見開きを縦スクロールにしたり単ページにしたりできて面白い
"倍率" が 2017/10 の時点で無理らしいけど
712デフォルトの名無しさん
2020/03/26(木) 01:20:56.78ID:3WOBAGMl ID消して質問してるのがすげー腹立つな
本当に解決を望んでるなら逆にコテ付けるぐらいできんのか
本当に解決を望んでるなら逆にコテ付けるぐらいできんのか
713デフォルトの名無しさん
2020/03/30(月) 02:44:24.40ID:X7klH3J+ windowsってことだけどpdfいじるならMac OSのautomatorじゃね?知らんけど
714デフォルトの名無しさん
2020/04/18(土) 11:05:03.45ID:6HUykZ9A 今でもたまに使うけどUTF8系のスクリプトとの相性がめっちゃ悪いな
いちいちコードページ指定するとなんかウィンドウが切り替わって重いし
cmdをchcp 65001 (UTF8)で常用するって現実的じゃないよね?
いちいちコードページ指定するとなんかウィンドウが切り替わって重いし
cmdをchcp 65001 (UTF8)で常用するって現実的じゃないよね?
715デフォルトの名無しさん
2020/04/18(土) 14:03:40.50ID:a+OnqKl3 MSはレガシーのために保守してるだけだろ
powershell使え
powershell使え
716デフォルトの名無しさん
2020/04/18(土) 16:57:49.71ID:VodBEB+r 例えば、こんなバッチをutf-8で作成して実行する。
できたtest.txtを見たら1行しかない。なんでだ。
@echo off
chcp 65001
call :test > test.txt
exit
:test
echo テスト
echo テスト
できたtest.txtを見たら1行しかない。なんでだ。
@echo off
chcp 65001
call :test > test.txt
exit
:test
echo テスト
echo テスト
717デフォルトの名無しさん
2020/04/18(土) 17:12:48.44ID:fYZW+FI9■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★4 [BFU★]
- 小野田氏、”中国経済への依存“に警戒感 高市首相の国会答弁巡り [煮卵★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 日本が「世界で最も魅力的な国」1位に!✨「魅力的な都市」では東京が2位 「魅力的な地域」は北海道が7位に [煮卵★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 【サッカー】独占入手 最年長JリーガーにW不倫疑惑 『お風呂覗きたいんですが笑』LINE流出も… 慰謝料トラブルを本人に直撃 [冬月記者★]
- 東浩紀「日本はいままさに駆け引きをしている。」高市有事にピシャリ [834922174]
- 【高市経済】日経平均マイナス1600円!、金利1.76%!ドル円155円!世界恐慌へ [219241683]
- 日経平均、49000円割れ 国賊高市を許すな [402859164]
- 【悲報】麻生太郎、石破憎しで高市を擁立し晩節を汚す [884040186]
- とうすこ🏡愛され絵文字♡🤥👊😅👊👶♡
- 【高市速報】日本「中国さんお願い首脳会談させて!ねえってば!😭」 [931948549]
